实际应用中我们会安装很多版本的Python解释器。同样,我们也有可能因为各种原因,需要不同版本的模块,比如Django1.8,Django1.11。再加上pip工具管理器的版本混乱问题。这就使得很多人在Python的环境管理上产生极大的混乱。
通常每个项目,甚至项目不同阶段的版本,需要不同的Python解释器和依赖库。为了清晰明了,安全可靠的管理这些环境,需要为每个项目或每个应用各自建立一套“独立、隔离”的Python运行环境。
venv就是用来为每一个项目创建一套“独立隔离”的Python运行环境的工具。
在Python3.4之前,virtualenv需要独立手动安装后,方可执行。之后的版本中,Python自带了一个venv库,执行Python –m venv就可以达到与virtalenv同样的效果。本文记录如何用自带的venv库创建虚拟环境。
核心要点是:
1、创建一个虚拟环境:
C:\Users\Administrator>e:
E:\>
E:\>mkdir myvenv
E:\>cd myvenv
E:\myvenv>python -m venv dailyfresh
先创建一个文件夹,在文件夹中创建一个dailyfresh虚拟环境。
执行后会生成一个名为dailyfresh目录
E:\myvenv>dir
驱动器 E 中的卷没有标签。
卷的序列号是 0000-3156
E:\myvenv 的目录
2019/03/29 20:24 .
2019/03/29 20:24 ..
2019/03/29 20:24 dailyfresh
0 个文件 0 字节
目录下面的结构
E:\myvenv\dailyfresh 的目录
2019/03/29 20:24 .
2019/03/29 20:24 ..
2019/03/29 20:24 Include
2019/03/29 20:24 Lib
2019/03/29 20:24 82 pyvenv.cfg
2019/03/29 20:24 Scripts
1 个文件 82 字节
2、启用虚拟环境:
E:\myvenv\dailyfresh>Scripts\activate.bat
(dailyfresh) E:\myvenv\dailyfresh>
执行那个Scripts目录下面的activate.bat文件,启用后,提示符前面会出现虚拟环境的名字(dailyfresh)。
3、用pip给虚拟环境安装模块:
pip list查看已安装模块,目前看到只有两个Python自带的模块
(dailyfresh) E:\myvenv\dailyfresh>pip list
Package Version
---------- -------
pip 10.0.1
setuptools 39.0.1
You are using pip version 10.0.1, however version 19.0.3 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
提示pip有新版本,按提示用'python -m pip install --upgrade pip'命令更新就好了。
在虚拟环境里,千万别用'pip install --upgrade pip'更新pip,这会破坏pip。
现在,给虚拟环境安装django
试试:
win+r,调出cmd,运行命令:pip install django
,自动安装PyPi提供的最新版本。
如果要指定版本,可使用pip install django==1.11
这种形式。安装过程如下:
(dailyfresh) E:\myvenv\dailyfresh>pip install django==1.11
Collecting django==1.11
Using cached https://files.pythonhosted.org/packages/47/a6/078ebcbd49b19e22fd560a2348cfc5cec9e5dcfe3c4fad8e64c9865135bb/Django-1.11-py2.py3-none-any.whl
Collecting pytz (from django==1.11)
Using cached https://files.pythonhosted.org/packages/61/28/1d3920e4d1d50b19bc5d24398a7cd85cc7b9a75a490570d5a30c57622d34/pytz-2018.9-py2.py3-none-any.whl
Installing collected packages: pytz, django
Successfully installed django-1.11 pytz-2018.9
You are using pip version 10.0.1, however version 19.0.3 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
安装完成后会提示成功安装。
import django
django.get_version()
(fresh) E:\myvenv\fresh>python
Python 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.get_version()
'1.11
4、退出虚拟环境:
(dailyfresh) E:\myvenv\dailyfresh>Scripts\deactivate.bat
E:\myvenv\dailyfresh>
执行那个Scripts目录下面的deactivate.bat文件,退出后,提示符前面虚拟环境的名字(dailyfresh)会消失。