Django 开发 | 01 - Python 虚拟环境

413 阅读3分钟

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

image.png

安装完成之后,我们可以通过 virtualenv 来创建一个虚拟环境,比如创建一个用于自动化测试的 Python 虚拟环境

virtualenv selenium4

image.png

virtualenv 会在当前目录下创建一个 selenium4 的文件夹,保存该环境的相关文件,进入 selenium/Scripts 目录,该目录下的 activate 可以激活该环境,执行 activate 命令即可:

image.png

执行 deactivate 命令可以退出该环境

image.png

当不需要 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

image.png

virtualenvwrapper 在创建虚拟环境时会在 Users\用户名 目录下创建一个 Env 目录,该工具创建的所有的虚拟环境都会存储在该目录下。

使用 mkvirtualenv [虚拟环境名称] 命令可以创建虚拟环境,并且会自动激活该环境

image.png

执行 deactivate 命令就可以退出该环境,任意目录下执行 workon [虚拟环境名称] 就可以激活指定的虚拟环境

image.png

其他常用命令有:

# 在虚拟环境激活的前提下进入该目录
cdvirtualenv
# 列出所有的虚拟环境
lsvirtualenv
# 删除某个虚拟环境
rmvirtualenv [虚拟环境名称]

当然 virtualenvwrapper 也支持修改默认的虚拟环境存储目录,只需要再环境变量中添加一个 WORKON_HOME 变量即可,变量值就是新的虚拟环境存储目录。

mkvirtualenv 命令可以使用 --python 参数来指定虚拟环境创建使用的 Python 解释器,命令如下:

mkvirtualenv --python=[解释器绝对路径] [虚拟环境名称]