从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
命令退出该虚拟环境。
虚拟环境退出后,位置提示符前面将不再显示虚拟环境的名字。
Pycharm 中配置已创建的虚拟环境
当项目通过上述方式创建完成,如果要采用Pycharm开发,可以通过以下方式给该项目绑定已创建的虚拟环境:
- 启动Pycharm软件,点击
Open
并选择刚才新建的项目路径:
打开项目
2.如果发现项目没和虚拟环境绑定,可以通过菜单选择File
,点击Settings
:
打开设置页面
3.在该项目的Project Interpreter
节添加项目解释器:
添加项目解释器
4.在已存在的环境区域找到该虚拟环境:
image.png
5.点击“OK”保存设置。
如此,该项目的虚拟环境在pycharm中就和项目绑定完成。
网友评论