视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
python冷冻及虚拟环境
2020-11-27 14:17:15 责编:小采
文档


python freeze

python应用在开发中会使用各种各样的包,通常我们会用venv来对各应用项目依赖的python解释器版本及其包进行隔离。

应用中import的各种包如何“固定”住呢? pip提供方法 freeze,将依赖的包名及版本导出到txt文件中,日后其他人引入项目时,可以通过pip提供的方法直接导入,简单来说:

pip freeze > requirements.txt

pip install -r requirements.txt

跟java的maven仓库导入差不多, 更轻量环保。

virtual env

java应用的使用中,我们都会指定项目的jdk路径。大多数情况,一般可能每个开发机器上都会有1-3个版本的JDK, 如 jdk6, jdk7, jdk8,通常这样就够了。 然后会在系统PATH变量中指定一下JAVA_HOME路径。

java应用的外部第三方包的依赖由maven设定,并在build时带入应用的目录作为依赖。

python的控制方式略有不同,由于python本身自带了pip这个包管理工具。而且由于python是动态化的脚本语言,可能会有好几组不同的脚本分布在不同的目录组织,由于开发周期的原因,各个目录的脚本依赖的python解释器,包可能会不同,一个在python2跑的好好的脚本用python3的解释器一般都会出错。

我们需要一种把各组脚本运行环境隔离的方式,就是用virtual env解决。

具体方式就是在python项目的根目录中:

|—myPythonProject
 |———codePackage

运行:

virtualenv -p python3 env-p 代表创建一个python3的虚拟环境

env 代表该虚拟环境的目录叫env

运行后的目录结构为:

|—myPythonProject
 |———codePackage
 |———env
 |——bin
 |——lib
 |——include

然后我们需要激活这个虚拟环境:

source env/bin/activate

激活后环境提示符变为:

(env) ? knife git:(master) ?

表示此时该环境已经是这个项目所需的虚拟python3环境了,此时pip install 所有的package都会被安装在env/lib/python3.5/site-packages目录下了,不会受到其他python项目安装的package包影响。

如果使用pyCharm等IDE,需要在项目创建时指定项目对应的project interpreter,如下图:

下载本文
显示全文
专题