从python3.3开始,python内置了env库,提供了对虚拟环境的支持。虚拟环境和全局环境相比有以下优势:
- 不同项目可以应用不同的python环境,且互不影响。
 - 环境升级只会作用该应用特定的虚拟环境,不影响其他应用,也不会影响全局python环境
 - 可以有效避免系统中出现包管理混乱和版本冲突
 
命令行创建虚拟环境
命令介绍:
python -m venv 虚拟环境目录
参数:
-m:指定要运行的模块
命令的意思是运行venv模块创建虚拟环境,这个虚拟环境的目录就是命令最后指定的目录。
一般常根据项目创建虚拟环境,即每个项目会有一个对应的虚拟环境。下面演示一般的使用过程:
- 
创建目录,并以此目录作为项目根目录。
例如,创建项目根目录“pyenv”:
创建项目根目录
 - 
打开cmd命令行,并进入刚才创建的项目根目录:
进入项目根目录
 - 使用命令创建项目虚拟环境:
创建项目虚拟环境
命令执行后,会在项目根目录下产生一个venv目录,该目录目录树如下所示(仅显示目录): 
├─Include
├─Lib
│  └─site-packages
│      ├─pip
│      │  ├─_internal
│      │  │  ├─cli
│      │  │  │  └─__pycache__
│      │  │  ├─commands
│      │  │  │  └─__pycache__
│      │  │  ├─models
│      │  │  │  └─__pycache__
│      │  │  ├─operations
│      │  │  │  └─__pycache__
│      │  │  ├─req
│      │  │  │  └─__pycache__
│      │  │  ├─utils
│      │  │  │  └─__pycache__
│      │  │  ├─vcs
│      │  │  │  └─__pycache__
│      │  │  └─__pycache__
│      │  ├─_vendor
│      │  │  ├─cachecontrol
│      │  │  │  ├─caches
│      │  │  │  │  └─__pycache__
│      │  │  │  └─__pycache__
│      │  │  ├─certifi
│      │  │  │  └─__pycache__
│      │  │  ├─chardet
│      │  │  │  ├─cli
│      │  │  │  │  └─__pycache__
│      │  │  │  └─__pycache__
│      │  │  ├─colorama
│      │  │  │  └─__pycache__
│      │  │  ├─distlib
│      │  │  │  ├─_backport
│      │  │  │  │  └─__pycache__
│      │  │  │  └─__pycache__
│      │  │  ├─html5lib
│      │  │  │  ├─filters
│      │  │  │  │  └─__pycache__
│      │  │  │  ├─treeadapters
│      │  │  │  │  └─__pycache__
│      │  │  │  ├─treebuilders
│      │  │  │  │  └─__pycache__
│      │  │  │  ├─treewalkers
│      │  │  │  │  └─__pycache__
│      │  │  │  ├─_trie
│      │  │  │  │  └─__pycache__
│      │  │  │  └─__pycache__
│      │  │  ├─idna
│      │  │  │  └─__pycache__
│      │  │  ├─lockfile
│      │  │  │  └─__pycache__
│      │  │  ├─msgpack
│      │  │  │  └─__pycache__
│      │  │  ├─packaging
│      │  │  │  └─__pycache__
│      │  │  ├─pep517
│      │  │  │  └─__pycache__
│      │  │  ├─pkg_resources
│      │  │  │  └─__pycache__
│      │  │  ├─progress
│      │  │  │  └─__pycache__
│      │  │  ├─pytoml
│      │  │  │  └─__pycache__
│      │  │  ├─requests
│      │  │  │  └─__pycache__
│      │  │  ├─urllib3
│      │  │  │  ├─contrib
│      │  │  │  │  ├─_securetransport
│      │  │  │  │  │  └─__pycache__
│      │  │  │  │  └─__pycache__
│      │  │  │  ├─packages
│      │  │  │  │  ├─backports
│      │  │  │  │  │  └─__pycache__
│      │  │  │  │  ├─ssl_match_hostname
│      │  │  │  │  │  └─__pycache__
│      │  │  │  │  └─__pycache__
│      │  │  │  ├─util
│      │  │  │  │  └─__pycache__
│      │  │  │  └─__pycache__
│      │  │  ├─webencodings
│      │  │  │  └─__pycache__
│      │  │  └─__pycache__
│      │  └─__pycache__
│      ├─pip-19.0.3.dist-info
│      ├─pkg_resources
│      │  ├─extern
│      │  │  └─__pycache__
│      │  ├─_vendor
│      │  │  ├─packaging
│      │  │  │  └─__pycache__
│      │  │  └─__pycache__
│      │  └─__pycache__
│      ├─setuptools
│      │  ├─command
│      │  │  └─__pycache__
│      │  ├─extern
│      │  │  └─__pycache__
│      │  ├─_vendor
│      │  │  ├─packaging
│      │  │  │  └─__pycache__
│      │  │  └─__pycache__
│      │  └─__pycache__
│      ├─setuptools-40.8.0.dist-info
│      └─__pycache__
└─Scripts
这样一个虚拟环境就创建完成。
激活虚拟环境
虚拟环境创建成功后,可以通过<虚拟环境目录>/Scripts/activate.bat在命令行中激活该环境:
.\venv\Scripts\activate
激活虚拟环境后,位置提示符中会在前面显示虚拟环境的名字:
激活虚拟环境
关闭虚拟环境
命令行中,如果在已激活的虚拟环境中操作完,可以通过deactivate命令退出该虚拟环境。
image.png
虚拟环境退出后,位置提示符前面将不再显示虚拟环境的名字。
Pycharm 中配置已创建的虚拟环境
当项目通过上述方式创建完成,如果要采用Pycharm开发,可以通过以下方式给该项目绑定已创建的虚拟环境:
- 启动Pycharm软件,点击
Open并选择刚才新建的项目路径:
打开项目
2.如果发现项目没和虚拟环境绑定,可以通过菜单选择File,点击Settings:
打开设置页面
3.在该项目的Project Interpreter节添加项目解释器:
添加项目解释器
4.在已存在的环境区域找到该虚拟环境:
image.png
5.点击“OK”保存设置。
如此,该项目的虚拟环境在pycharm中就和项目绑定完成。 












网友评论