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 会自动识别出来直接添加使用就可以了。