码迷,mamicode.com
首页 > 编程语言 > 详细

Python虚拟环境常用工具使用

时间:2020-03-08 11:20:17      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:登录   port   生产   efi   requests   https   set   开机   漏洞   

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:\Program\Python37\python.exe
Already using interpreter D:\Program\Python37\python.exe
Using base prefix 'D:\\Program\\Python37'
New python executable in c:\allenv\env1\Scripts\python.exe
Installing setuptools, pip, wheel...
done.

激活虚拟环境

c:\allenv>cd env1/Scripts # 进入虚拟脚本目录
c:\allenv\env1\Scripts>activate # 通过activate命令激活虚拟环境
(env1) c:\allenv\env1\Scripts> # 在这里就和实体python环境一样,可以何意的安装第三方模块

使用虚拟环境

(env1) c:\allenv\env1\Scripts>pip install django==1.11.16 -i https://p
ypi.douban.com/simple #安装django包
(env1) c:\allenv\env1\Scripts>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:\allenv\env1\Scripts>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 allenv\env2
$pipenv install # 使用本地默认版本python创建虚拟环境
$pipenv --python 3.7 # 指定用python 3.7版本创建虚拟环境
$pipenv --python 3.7
Creating a virtualenv for this project…
Pipfile: C:\allenv\env2\Pipfile
Using D:/Program/Python37/python.exe (3.7.6) to create virtualenv…
[    ] Creating virtual environment...

激活虚拟环境

$pipenv shell

使用虚拟环境

(env2-bSoKIDGr) c:\allenv\env2$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虚拟环境常用工具使用

标签:登录   port   生产   efi   requests   https   set   开机   漏洞   

原文地址:https://www.cnblogs.com/xiaodou-cao/p/12441402.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!