python虚拟环境和venv的使用
1.环境与虚拟环境
我们安装的python就是一个实在的环境,而虚拟环境是实际环境的一个副本。如下是python环境的目录结构:
python.exe 和 pip.exe不在一起,所以环境变量要配置两个
虚拟环境的目录结构:
虚拟环境与实际环境有哪些不同?
-
虚拟环境没有标准库的部分。没有标准库了怎么办?引用原来实际环境中的标准库。
-
虚拟环境的可执行文件:pip.exe、python.exe,统一放在了Scripts目录下,因为这样做只需要一个环境变量指向Scripts目录。如果是实际环境,则需要指定两个(一个到/python38,用于执行python.exe;另一个到/Scripts,用于执行pip.exe)
2.查看帮助
在命令行界面输入python -m venv -h
查看venv的帮助
3.--system-site-package 命令
需要注意这条命令:--system-site-package
这条命令允许虚拟环境访问system site packages目录。也就是在虚拟环境中,你也可以使用在系统中安装的第三方软件包。如果你不想在新的虚拟环境中,下载太多的第三方包,可以使用这条命令。
4.创建虚拟环境
创建一个名为 test_venv 的虚拟环境,在命令行输入python -m venv test_venv
即可。
- 虚拟环境的pip包在Lib/site-packages目录下。在虚拟环境下安装第三方软件包也会存放在site-packages路径下。
- Scripts文件夹下存放:激活文件(activate)、去激活文件(deactivate)、pip.exe和python.exe。
5.激活/关闭虚拟环境
在命令行进入test_venv/Scripts目录下,输入activate
即可激活虚拟环境。
可以发现命令行中多了这个:(test_venv),这表示我们在test_venv虚拟环境下。
输入deactivate
即可停止使用虚拟环境。
6.保存和复制虚拟环境
首先在虚拟环境下的命令行输入pip list
可以查看已经安装的包。
输入pip freeze
将已经安装的包以requirements的格式输出:
将这个结果导入文件:pip freeze > requirements.txt
(文件名通常是requirements)
在别的虚拟环境内输入命令pip install -r requirement.txt
导入这个文件,即得到跟原来一样的虚拟环境。
7.改变虚拟环境所指向的真实python环境
用记事本打开虚拟环境下的配置文件:
pyvenv.cfg
将home后面改成真实环境python.exe的路径即可