虚拟环境介绍

一,虚拟环境介绍

python虚拟环境的主要目的是为了给不同的工程创建互相独立的运行环境。在虚拟环境下,每一个工程都有自己的依赖包,而与其他工程无关。不同的虚拟环境中同一个包可以有不同的版本。并且,虚拟环境的数量没有限制,我们可以通过virtualenv(比较底层,用的比较多)或者pipenv(整合了virtualenv和pip安装包,比较强大,近两年才出来)等工具来创建多个虚拟环境。

二,virtualenv的安装和应用

windows安装步骤:

1,pip安装virtualenv

2,pip安装虚拟环境管理包 virtualenvwrapper-win

3,创建一个存放虚拟环境的目录(建议命名为.env或者.virtualenv)

4,配置环境变量(变量名:WORKON_HOME,值为3创建的目录路径)

三,virtualenv的使用命令

虚拟环境的一些命令:

workon:列出所有的虚拟环境

workon [name]:进入指定的虚拟环境

deactivate:退出当前的虚拟环境

mkvirtualenv [name]:创建虚拟环境

rmvirtualenv [name]:不看当前路径,可以删除任何路径下的虚拟环境

mkvirtualenv -p python2/python3 [name]:创建python3的虚拟环境

卸载命令:pip install [name]

六,requirements.txt文件

requirements.txt文件,里面记录了当前程序的所有依赖包和版本号,其作用是用来在另一个环境上重新构建项目所需要的运行环境依赖。

pip freeze >requirements.txt:导出当前环境到requirements.txt

pip install -r requirements.txt:使用requirements.txt恢复环境

四,pipenv的安装和使用

pipenv集成了pip,virtualenv两者的功能,且完善了两者的一些缺陷。

过去用virtualenv管理requirement.txt文件可能有问题,pipenv使用pipfile和pipfile.lock,前者用来记录项目依赖包列表,后者记录了固定版本的详细依赖包列表,查看依赖关系十分方便。支持python2,python3,mac,win,linux在各个平台的命令都是一样的。各个地方使用了哈希校验,无论安装还是卸载包都十分安全

安装pip install pipenv

在文件下创建虚拟环境: 

第一步创建文件夹:mkdir py3env

第二步进入文件夹:cd py3env

第三步在此文件下创建虚拟环境:pipenv install

创建虚拟环境:创建好虚拟环境之后会生成:一个pipfile文件和一个pipfile.lock,项目提交时,可将pipfile文件和pipfile.lock文件一并提交,待其他开发克隆下载。pipfile.lock文件是通过hash算法将包的名称和版本及依赖关系生成哈希值,可以保证包的完整性。

第四步修改Pipfile文件下将url = "https://pypi.org/simple"改成国内源https://pypi.tuna.tsinghua.edu.cn/simple

五,pipenv管理模块和包

pipenv install:若当前路径下没有虚拟环境则创建一个虚拟环境,另一个作用是通过pipfile和Pipfile.lock来恢复当前目录下的包,但不能恢复dev环境下的包

pipenv install --dev:可恢复dev环境下的包

pipenv install [name]:在虚拟环境中安装模块或者包,注意点在当前项目路径下执行以上命令,安装包记录在[packages]部分

pipenv install --dev [name]:通过--dev指明只安装在开发环境对应的包,安装包记录是在[dev-packages]部分

 pipenv uninstall 包名:卸装虚拟环境的模块包

pipenv garph:查看安装包及依赖环境

pipenv lock -r --dev > requirements.txt:生成requirements.txt文件

pipenv install -r requirements.txt:通过requirements.txt安装环境

七,pipenv的相关使用命令(只能操作当前路径下的虚拟环境)

pipenv --rm:只能删除当前路径下的删除虚拟环境

pipenv --where:列出本地工程路径

pipenv --venv:列出虚拟环境路径

pipenv --py:列出虚拟环境的python解释器

pipenv graph:查看包依赖

pipenv lock:生成lock文件

pipenv shell:激活虚拟环境

exit:退出虚拟环境

原文地址:https://www.cnblogs.com/ella-li/p/13635492.html