在开发 Python
应用程序的时候,系统上通常只会安装一个 Python
版本:例如 3.7
。所有使用 pip
安装的第三方包都会被安装到 Python
的 site-packages
目录下。如果同时开发多个应用程序,而这些应用程序需要使用的某一个第三方包的版本各不相同,该怎么办?这种情况下,为每个应用程序“独立”安装一套 Python
运行环境显然是不现实的。这个难题,使用 virtualenv
可以轻易解决。
virtualenv
是专门用来为应用程序维护多套相互 隔离
的 Python
运行环境的工具,借助 virtualenv
可以在一台主机上创建多套相互隔离的 Python
运行环境。
安装
$ pip install virtualenv
建个专门用来管理虚拟环境的文件夹,cd
进去,然后开始创建一个独立的 Python
虚拟运行环境 venv(虚拟环境文件名随意,这里借用官方的)
# 创建虚拟环境(默认是一个干净的 Python 环境,之前 pip 安装的第三方库都不会被复制进来)
$ virtualenv venv
# 创建虚拟环境(指定要将之前 pip 安装的第三方库都复制到新建的虚拟环境中)
$ virtualenv --system-site-packages venv
# 创建虚拟环境(在多个 Python 版本的情况下,可以创建指定 Python 版本的虚拟环境,例如:~/.pyenv/versions/3.10.3/bin/python3 )
$ virtualenv -p /usr/bin/python2 venv
# 查看更多配置项
$ virtualenv --help
启动虚拟环境
# 启动虚拟环境(以前老版本是 venv/Scripts/activate 的方式进行启动)
$ source venv/bin/activate
退出虚拟环境
# 退出关闭虚拟环境
$ deactivate
启动案例
# 启动虚拟环境(启动后前面会有的标志(venv))
dengzemiaodeMacBook-Pro python % source venv/bin/activate
# 列出当前虚拟环境的第三方库
(venv) dengzemiaodeMacBook-Pro python % pip list
Package Version
---------- -------
pip 22.3.1
setuptools 65.5.1
wheel 0.38.4
# 退出虚拟环境
(venv) dengzemiaodeMacBook-Pro python % deactivate
dengzemiaodeMacBook-Pro python %
然后就可以当做一个正常 Python
开发环境去使用了,安装第三方插件什么的。