虚拟环境是独立的Python环境,在虚拟环境中通过安装第三方库,不会影响到本地的Python环境或者是其他虚拟环境,这样可以再不同项目对库的版本有不同需求的时候方便我们的使用。
笔记来源内容:
参考请注意python版本是否相同,其他版本的文档我没看过。
网上还找到了更加详细的虚拟环境相关内容,感兴趣可以自行前往查看:
一文解读 virtualenv & venv & pipenv 之间的联系与区别
venv简介
用于创建和管理虚拟环境的模块称为 venv。
Python 从3.3 版本开始自带,在官方文档: PEP-405 中可以看到它的详细介绍。
venv 通常会安装你可用的最新版本的 Python。如果您的系统上有多个版本的 Python,您可以通过运行 python3 或您想要的任何版本来选择特定的Python版本。
安装venv
Windows 中venv已经以标准库的形式存在,不用再单独安装
Linux:
sudo apt-get install python3-venv
如有不同版本的Python3,可指定具体版本
venv:python3.5-venv
创建虚拟环境
要创建虚拟环境,请确定要放置它的目录,并将 venv 模块作为脚本运行目录路径:
python3 -m venv tutorial-env
tutorial-env 即虚拟环境名称
如果 tutorial-env 目录不存在,它将为你创建一个,并在其中创建包含Python解释器,标准库和各种支持文件的副本的目录。
虚拟环境的常用目录位置是 .venv。 这个名称通常会令该目录在你的终端中保持隐藏,从而避免需要对所在目录进行额外解释的一般名称。 它还能防止与某些工具所支持的 .env 环境变量定义文件发生冲突。
激活虚拟环境
创建虚拟环境后,您可以激活它。
在Windows上,运行(CMD):
tutorial-env\Scripts\activate.bat
在Unix或MacOS上,运行:
source tutorial-env/bin/activate
(这个脚本是为bash shell编写的。如果你使用 csh 或 fish shell,你应该改用 activate.csh 或 activate.fish 脚本。)
不同平台的激活命令
平台 | Shell | 激活虚拟环境命令 |
POSIX | bash/zsh | source /bin/activate |
fish | source /bin/activate.fish | |
csh/tcsh | source /bin/activate.csh | |
PowerShell | Core/bin/Activate.ps1 |
平台 | Shell | 激活虚拟环境命令 |
Windows | cmd.exe | \Scripts\activate.bat |
PowerShell | \Scripts\Activate.ps1 |
使用pip管理包
我们一样可以使用 pip 来对虚拟环境的模块进行管理,更多关于pip的内容可以在 安装 Python 模块 指南页查看完整的 pip 文档。
下面的示例以requests模块举例,requests即是你要安装或者是进行其他操作的模块名称。
安装模块
安装最新版本:
pip install requests
指定镜像源
pip install -i https://pypi.douban.com/simple requests
安装特定版本模块(模块包名称后跟 == 和特定版本号)
python -m pip install requests==2.6.0
升级模块(pip install –upgrade)
python -m pip install --upgrade requests
删除模块(pip uninstall 模块名)
pip uninstall后可以跟一个或多个包名称将从虚拟环境中删除包。
pip uninstall requests
显示模块信息(pip show 模块名)
pip show requests
显示已安装模块列表
pip list
导出已安装模块列表(pip freeze)
pip freeze 将生成一个类似的已安装包列表,但输出使用 pip install 期望的格式。一个常见的约定是将此列表放在 requirements.txt 文件中:
pip freeze > requirements.txt
运行后不会有提示,自己在运行命令的目录找到对应的生成文件
安装requirements.txt中的所有模块
然后用户可以使用:
pip install -r requirements.txt
来安装requirements.txt中的所有模块:
PS:官方原话是:然后可以将 requirements.txt 提交给版本控制并作为应用程序的一部分提供。然后用户可以使用 install -r 安装所有必需的包
python -m pip install -r requirements.txt
退出环境
linux:
$ deactivate
Windows 10:
.\Scripts\deactivate.bat