一、什么是Python虚拟环境
虚拟环境是一个Python 环境,安装到其中的Python解释器、库和脚本与其他虚拟环境中的内容是隔离的,且(默认)与“系统级”Python(操作系统的一部分)中安装的库是隔离的。
虚拟环境是一个目录树,其中包含Python可执行文件和其他文件,其他文件指示了这是一个是虚拟环境。
venv模块支持使用自己的站点目录创建轻量级“虚拟环境”,可选择与系统站点目录隔离。每个虚拟环境都有自己的 Python 二进制文件(与用于创建此环境的二进制文件的版本相匹配),并且可以在其站点目录中拥有自己独立的已安装 Python 软件包集。[1]
二、Python创建虚拟环境的四种方式
1.pyenv可以在一台开发机上建立多个版本的python环境, 切换简便。
pipenv集成了pip,virtualenv两者的功能,且完善了两者的一些缺陷。过去用virtualenv管理requirements.txt文件可能会有问题,Pipenv使用Pipfile和Pipfile.lock,后者存放将包的依赖关系,查看依赖关系是十分方便。
它在各个地方使用了哈希校验,无论安装还是卸载包都十分安全,且会自动公开安全漏洞。
它通过加载.env文件简化开发工作流程。
它支持Python2 和 Python3,在各个平台的命令都是一样的。
2.virtualenv可将一个目录建立为一个虚拟的python环境。https://pypi.python.org/pypi/virtualenv
virtualenv在每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate。
3.Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可将所有虚拟环境整合在一个目录下管理(新增,删除,复制)、快速切换虚拟环境。它对不同的虚拟环境使用不同的目录进行管理,并且还省去了每次开启虚拟环境时候的 source 操作,使得虚拟环境更加好用。pip install virtualenvwrapper
4.Anaconda也有自己的虚拟环境系统,称为conda[2]
三、如何创建虚拟环境
新建项目采用虚拟环境,但是项目打开后,启动终端,却经常发现并没有开启虚拟环境,导致一些包都被安装到全局环境中。有时导入开源框架源码项目无法顺利进行二次开发。这时可以采用手动设置,把导入的项目改为虚拟环境中运行。
更换powershell为cmd的方式: 在“File-settings-Tool-Terminal”这里可以更换。
四、采用虚拟环境virtualenv 的几个主要命令
在Pycharm终端退出终端再重新点开终端,输入命令:cd .\venv,成功进入虚拟环境。再输入cd .\Scripts\,再输入 .\activate直到看到(venv)在最前面,说明进入了虚拟环境。
停止虚拟环境 deactivate
创建虚拟环境:
virtualenv -p python3 虚拟环境名
激活虚拟环境:用cd命令进入创建好的虚拟环境中的Scripts文件中,执行命令:
activate
对于已有的项目,即使修改了终端为 cmd,再次打开,开启环境可能仍然不生效。
需要注意项目尽量不要创建在中文目录下。