Python 虚拟环境
在安装 Python 的时候会添加全局变量,这就是一个全局的 Python,但是在开发不同的项目时可能会用到不同的包,如果把这些包全都安装到全局 Python 里面会导致包版本混乱或者由于版本冲突导致安装失败等等问题,那么这个时候我们就需要一个虚拟环境,这个虚拟环境是独立于全局 Python 的。
我们可以为每个项目单独创建一个虚拟环境,然后再这个虚拟环境中使用 pip 安装所需要的包,并且导出 requirements.txt 文件,该文件中保存了这个项目或者虚拟环境所安装的包名以及版本号。
virtualenv
Python 提供了创建和管理虚拟环境的工具 virtualenv,我们可以通过 pip/pip3 来安装该工具
pip install virtualenv
如果安装比较慢的话,可以设置使用国内的镜像源来安装
# 设置全局的源地址为清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install virtualenv
安装完成之后,我们可以通过 virtualenv 来创建一个虚拟环境,比如创建一个用于自动化测试的 Python 虚拟环境
virtualenv selenium4
virtualenv 会在当前目录下创建一个 selenium4 的文件夹,保存该环境的相关文件,进入 selenium/Scripts 目录,该目录下的 activate 可以激活该环境,执行 activate 命令即可:
执行 deactivate 命令可以退出该环境
当不需要 selenium4 这个环境时,直接删除该文件夹即可。
使用 virtualenv 工具来管理虚拟环境时,不方便的地方就在于当需要激活一个环境时,必须要进入该环境所在目录下并执行 activate 命令才可以激活该环境,退出时也必须要进入到环境所在目录执行 deactivate 命令才能退出环境。
在使用 virtualenv 创建虚拟环境时,默认会使用系统环境变量中的 Python 来创建虚拟环境,如果需要创建其他版本的虚拟环境,可以指定 Python 解释器来创建其他版本的 Python,执行如下命令
virtualenv -p [Python 解释器路径] [虚拟环境名称]
virtualenvwrapper
virtualenvwrapper 工具可以让虚拟环境的管理变得非常简单,直接通过命令来激活指定的虚拟环境,而不用像 virtualenv 那样必须进入到虚拟环境目录中才可以激活。
virtualenvwrapper 工具有两个版本,在 Linux 和 Mac 环境下可以使用如下命令来安装
pip install virtualenvwrapper
在 Windows 下则需要安装 virtualenvwrapper-win,安装命令如下:
pip install virtualenvwrapper-win
virtualenvwrapper 在创建虚拟环境时会在 Users\用户名 目录下创建一个 Env 目录,该工具创建的所有的虚拟环境都会存储在该目录下。
使用 mkvirtualenv [虚拟环境名称] 命令可以创建虚拟环境,并且会自动激活该环境
执行 deactivate 命令就可以退出该环境,任意目录下执行 workon [虚拟环境名称] 就可以激活指定的虚拟环境
其他常用命令有:
# 在虚拟环境激活的前提下进入该目录
cdvirtualenv
# 列出所有的虚拟环境
lsvirtualenv
# 删除某个虚拟环境
rmvirtualenv [虚拟环境名称]
当然 virtualenvwrapper 也支持修改默认的虚拟环境存储目录,只需要再环境变量中添加一个 WORKON_HOME 变量即可,变量值就是新的虚拟环境存储目录。
mkvirtualenv 命令可以使用 --python 参数来指定虚拟环境创建使用的 Python 解释器,命令如下:
mkvirtualenv --python=[解释器绝对路径] [虚拟环境名称]