Python虚拟环境常用工具使用
Posted xiaodou-cao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python虚拟环境常用工具使用相关的知识,希望对你有一定的参考价值。
Python虚拟环境工具
我们在使用Python开发的时候会使用pip来安装第三方包,但是由于pip的特性,系统中只能安装每个包的一个版本。但是在实际项目开发中,不同项目可能需要第三方包的不同版本或不同的第三方包,Python的解决方案就是虚拟环境。顾名思义,虚拟环境就是虚拟出来的一个隔离的Python环境,每个项目都可以有自己的虚拟环境,用pip安装各自的第三方包,不同项目之间也不会存在冲突。创建虚拟环境需要一些工具。
virtualenv
virtualenv是一个创建隔绝的python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用python工程所需的包。
安装工具
$python -m pip install virtualenv -i https://pypi.douban.com/simple
Installing collected packages: virtualenv
Successfully installed virtualenv-16.7.9
创建虚拟环境
$cd c:allenv # 假设要创建的虚拟环境目录都保存在c:allenv路径下
$virtualenv -p python --no-site-packages env1
# -p 指定python解释器,前提是配置了系统环境变量,通过python能查找到python安装的路径
# --no-site-packages 指定是完全纯净的环境,不从本地python的实体环境中继承任何第三方模块
# --system-site-packages 从本地的python实体环境中继承所有已安装的第三方模块
c:allenv>virtualenv -p python --no-site-packages env1
Running virtualenv with interpreter D:ProgramPython37python.exe
Already using interpreter D:ProgramPython37python.exe
Using base prefix 'D:\Program\Python37'
New python executable in c:allenvenv1Scriptspython.exe
Installing setuptools, pip, wheel...
done.
激活虚拟环境
c:allenv>cd env1/Scripts # 进入虚拟脚本目录
c:allenvenv1Scripts>activate # 通过activate命令激活虚拟环境
(env1) c:allenvenv1Scripts> # 在这里就和实体python环境一样,可以何意的安装第三方模块
使用虚拟环境
(env1) c:allenvenv1Scripts>pip install django==1.11.16 -i https://p
ypi.douban.com/simple #安装django包
(env1) c:allenvenv1Scripts>pip list # 查看虚拟环境安装的模块,可以退出虚拟环境查看实体环境会不一样
Package Version
---------- -------
Django 1.11.16
pip 19.3.1
pytz 2019.3
setuptools 44.0.0
wheel 0.33.6
退出虚拟环境
(env1) c:allenvenv1Scripts>deactivate # 通过deactivate命令退出虚拟环境
c:allenv>pip list # 退出虚拟环境之后且要返回到上一个目录,查看已安装的模块并没有虚拟环境中的django
Package Version
---------- -------
pip 19.3.1
setuptools 41.2.0
virtualenv 16.7.9
virtualenvwrapper(linux)
virtualenvwrapper 是一个基于virtualenv之上的工具,它将所有的虚拟环境统一管理。
安装工具
$python -m pip install virtualenvwrapper -i https://pypi.douban.com/simple
Looking in indexes: https://pypi.douban.com/simple
Collecting virtualenvwrapper
Installing collected packages: virtualenv-clone, six, pbr, stevedore, virtualenv
wrapper
Running setup.py install for virtualenvwrapper ... done
Successfully installed pbr-5.4.4 six-1.13.0 stevedore-1.31.0 virtualenv-clone-0.5.3 virtualenvwrapper-4.8.4
# 1.配置virtualenvwrapper的环境变量,每次开机就启动
$vim ~/.bashrc
# 2.写入以下几行代码export 和source一样都是读取linux shell变量的命令
export WORKON_HOME=~/Envs # 设置virtualenv的统一管理目录
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' # 添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3 # 指定python解释器
source /opt/python36/bin/virtualenvwrapper.sh # 这一步才是真正使用工具的步骤,执行virtualenvwrapper安装脚本
# 3.退出当前会话,重新登录linux
$logout
# 4.重新登录,查看是否可以使用virtualenvwrapper
$python -m pip install virtualenvwrapper-win -i https://pypi.douban.com/simple # windows下的话安装"virtualenvwrapper-win"这个包
创建虚拟环境
$mkvirtualenv django115 # 创建名称为django115的虚拟环境
$mkvirtualenv django2 # 创建名称为django2的虚拟环境
# --python 指定python的版本创建虚拟环境
激活/切换虚拟环境
$workon django2 # 切换到django2的虚拟环境
$workon django115 # 切换到django115的虚拟环境
$workon # 也可以查看当前的所有虚拟环境
进入虚拟环境的家目录
$cdsitepackages
退出虚拟环境
$deactivate
删除虚拟环境
$rmvirtualenv django115
显示所有的虚拟环境
$lsvirtualenv
pipenv
pipenv 是 Pipfile 主要倡导者、requests 作者 Kenneth Reitz 写的一个命令行工具,主要包含了Pipfile、pip、click、requests和virtualenv。Pipfile和pipenv本来都是Kenneth Reitz的个人项目,后来贡献给了pypa组织。Pipfile是社区拟定的依赖管理文件,用于替代过于简陋的 requirements.txt 文件。
Pipfile的基本理念是:
Pipfile 文件是 TOML 格式而不是 requirements.txt 这样的纯文本。
一个项目对应一个 Pipfile,支持开发环境与正式环境区分。默认提供 default 和 development 区分。
提供版本锁支持,存为 Pipfile.lock。
click是Flask作者 Armin Ronacher 写的命令行库,现在Flask已经集成了它。接下来,我们看看怎么使用它吧
安装工具
$python -m pip install pipenv -i https://pypi.douban.com/simple
Installing collected packages: virtualenv-clone, certifi, pipenv
Successfully installed certifi-2019.11.28 pipenv-2018.11.26 virtualenv-clone-0.5.3
创建虚拟环境
$cd allenvenv2
$pipenv install # 使用本地默认版本python创建虚拟环境
$pipenv --python 3.7 # 指定用python 3.7版本创建虚拟环境
$pipenv --python 3.7
Creating a virtualenv for this project…
Pipfile: C:allenvenv2Pipfile
Using D:/Program/Python37/python.exe (3.7.6) to create virtualenv…
[ ] Creating virtual environment...
激活虚拟环境
$pipenv shell
使用虚拟环境
(env2-bSoKIDGr) c:allenvenv2$pipenv install django==1.11.16 # 安装指定版本的第三方模块
$pipenv install flask # 安装不指定版本的第三方模块
$pipenv install pytest --dev # 只安装在开发环境才使用的包
$pipenv lock #把当前环境的模块lock住, 它会更新Pipfile.lock文件,该文件是用于生产环境的,你永远不应该编辑它
$pipenv install --ignore-pipfile # 创建和开发环境一样的环境咯,Pipfile.lock里记录了所有包和子依赖包的确切版本
$pipenv install --dev # 要在另一个开发环境做开发,则将代码和Pipfile复制过去,运行此命令
$pipenv --where # 显示目录信息
$pipenv --venv # 显示虚拟环境信息
$pipenv --py # 显示python解释器信息
$pipenv graph # 查看目前安装的库及其依赖
$pipenv check # 检查安全漏洞
$pipenv uninstall --all # 卸载全部包并从pipfile中移除
$pipenv uninstall package_name # 卸载指定包并从pipfile中移除
创建其他工具建立的虚拟环境
$pip freeze > requirements.txt # 首先打开之前的项目,将之前项目的虚拟环境导出到requirements.txt文件
$pipenv install -r requirements.txt # 将requirements.txt文件粘贴到到要创建环境的目录
退出虚拟环境
$exit
以上是关于Python虚拟环境常用工具使用的主要内容,如果未能解决你的问题,请参考以下文章