Python Virtual Environments

Python 默认的包都是安装在一个目录中,如果同时有多个 Python 项目,它们同时使用了某个第三方包的不同版本,则会出现冲突。

因此最好是为每一个项目创建一个自己的环境,与其它项目隔离。

Python 从 3.3 开始自带了一个 venv 的模块用来管理虚拟环境,说明文档:https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/

使用方法#

python3 -m venv env

使用上面的命令在当前目录下创建一个虚拟环境的目录,目录名:env

目录名可以随便起,另外最好在 .gitignore 文件中把目录加上。

source env/bin/activate

执行上面的命令,在当前的 shell 中激活虚拟环境。

激活后,python 命令也会锁定到虚拟环境中,执行:which python 可以看到 python 的命令行程序也指向虚拟环境中。

之后就可以用 pip 命令安装依赖包,依赖包会自动安装到虚拟环境的目录下。

用下面的命令离开虚拟环境:

deactivate

个人感觉 python 还需要用这种原始的方式解决依赖包冲突,还是不太成熟。可能之前定位在简单的工具开发上,对大型项目考虑的比较少。

PyCharm 使用虚拟环境#

PyCharm 可以直接使用上面创建的虚拟环境:

Preferences -> Project -> Python Interpreter

在 Python Interpreter 下拉框后面有一个按钮可以添加,选择添加后,支持几种环境类型,第一种就是 Virtualenv。

如果在项目根目录下创建了虚拟环境,PyCharm 会自动识别出来直接添加使用就可以了。

comments powered by Disqus