1.为什么要使用虚拟环境呢?
虚拟环境下有python解释器,并且可以独立管理各自的依赖包,互不影响。比如,对于不同的项目,要用到同一个包,但是需要的版本不同,那就用到了虚拟环境,每个项目可以对应不同的虚拟环境。
2.Python有几种创建虚拟环境的方式?
(2.1)如果是python3.4以后,可以利用python自带的venv库直接进行虚拟环境的创建;
直接创建虚拟环境:python -m venv d:\test,其中test为虚拟环境的名称。
切换到并激活虚拟环境见2.2。
(2.2)利用virtualenv包
首先,确保已经安装Python,并进行正确的环境变量配置;验证方式:在命令提示符(任何路径下)中输入python,回车后看看是否进入到Python编辑窗口。
接着,安装virtualenv包:pip install virtualenv
如果这里出现command not found:pip,可以将命令提示符切换到python的安装路径下的Scripts文件件下,重复上述命令。这样在当前目录下找到pip命令,而不再去环境变量里寻找。
其次,创建虚拟环境:virtualenv d:\venv,这样就在D盘创建了venv文件夹,也就有了名为venv的虚拟环境
再次,切换到并激活虚拟环境:在命令提示符切换到d:/venv/Scripts文件夹下,输入:activate
最后,退出虚拟环境:deactivate
到此一个python的虚拟环境创建好了,在此虚拟环境下安装的包,只在这个虚拟环境中起着作用。你可以为不同的项目创建不同的虚拟环境进行管理。
(2.3)利用virtualenvwrapper-win包
virtualenvwrapper-win是对 virtualenv 的功能扩展,可以管理全部的虚拟环境,用单个命令方便切换不同的虚拟环境。
安装virtualenvwrapper-win包:pip install virtualenvwrapper-win
创建虚拟环境:mkvirtualenv d:\test
切换到并激活虚拟环境方法如上。或者利用workon命令:workon 虚拟环境名称
因为virtualenvwrapper-win提供了统一管理的功能,可以新建一个文件夹virtualenvs,将所有的虚拟环境都存放在这个文件夹下,然后将该文件夹的路径放到环境变量里,即
workon_home=d:\virtualenvs;设置好环境变量后,在输入workon 就可以列出所有的虚拟环境了。
(2.4)pipenv包也可以创建python虚拟环境
(2.5)anaconda工具可以创建python虚拟环境
3.如果电脑里只有一个python3.7版本的python,能不能创造一个python3.6的虚拟环境?
不能
4.当有多个python版本时,如何创建指定版本的虚拟环境?
例如:virtualenv –p c:\Python27\Python2.exe d:\virtualenvs\django
5.如何将虚拟环境中安装的包以及版本都罗列出来?
切换到并激活响应的虚拟环境:pip freeze > requirements.txt
根据requirements.txt在线安装依赖包:pip install -r requirements.txt
根据requirements.txt离线安装依赖包:pip install --no-index --ignore-installed --find-links=依赖包的路径 -r requirements.txt。
注意:命令提示符的路径要在requirements.txt文件下。