Python—版本和环境的管理工具(Pipenv)
pipenv简介
- 虚拟环境本质是一个文件,是为了适应不同的项目而存在。pipenv相当于virtualenv和pip的合体。
- 整合了 pip+virtualenv+Pipfile,能够自动处理好包的依赖问题和虚拟环境问题,是最推荐使用的虚拟环境管理。
- 过去用virtualenv管理requirements.txt文件可能会有问题,Pipenv使用Pipfile和Pipfile.lock,后者存放包的依赖关系,查看依赖关系十分方便。
- 各个地方使用了哈希校验,无论安装还是卸载包都十分安全,且会自动公开安全漏洞。
- 通过加载.env文件简化开发工作流程。
- 支持Python2 和 Python3,在各个平台的命令都是一样的。
安装、升级、卸载pipenv
# 安装pipenv
[root@localhost ~]# pip install pipenv
# 升级pipenv
[root@localhost ~]# pip install --upgrade pipenv
# 卸载pipenv
[root@localhost ~]# pip uninstall pipenv
使用pipenv
# 1.进入到项目目录
[root@localhost ~]# cd /www/wwwroot/myproject
# 2.创建虚拟环境
[root@localhost myproject]# pipenv install
[root@localhost myproject]# pipenv install --three # 使用当前系统的Python3创建环境
[root@localhost myproject]# pipenv --two # 使用python2创建环境
[root@localhost myproject]# pipenv --three # 使用python3创建环境
[root@localhost myproject]# pipenv --python 3.6 # 指定某个Python版本创建环境
[root@localhost myproject]# pipenv --python <path/to/python> # 指定某个位置的Python创建环境
# 3.激活并进入虚拟环境
[root@localhost myproject]# pipenv shell
# 4.在虚拟环境中安装模块,并加入到Pipfile。可以不进入虚拟环境中,直接在项目目录下面使用pipenv安装即可。
(myproject) [root@localhost myproject]# pipenv install requests
(myproject) [root@localhost myproject]# pipenv install django==1.11
(myproject) [root@localhost myproject]# pipenv uninstall requests
# 5.运行python项目
(myproject) [root@localhost myproject]# python Main.py
(myproject) [root@localhost myproject]# pipenv run python main.py
# 6.退出虚拟环境
(myproject) [root@localhost myproject]# exit
- 当运行pipenv install 命令时, pipenv 会在项目目录下寻找Pipfile文件,如果没有则生成一个Pipfile文件。install, uninstall和lock等命令都会生成Pipfile.lock文件。两个文件互相配合,完成虚拟环境的管理工作。
- pipenv install 创建的虚拟环境名字格式为:项目目录名+随机字符串。如上面的:myproject-1qCvww8S和myproject-jyD3CuVy。在windows系统中,默认的路径为C:\Users\Administrator\.virtualenvs\下。而在linux环境系统中,默认的路径为:~/.local/share/virtualenvs/。如果你想在项目目录内创建虚拟环境文件夹,可以设置环境变量PIPENV_VENV_IN_PROJECT,这时名为.venv的虚拟环境文件夹将在项目根目录下创建。
- 创建虚拟环境时,如果要指定Python版本,可以使用--two指定python2版本;使用--three指定Python3版本;或是使用 --python 选项指定具体的版本号。
- 如果要显示激活虚拟环境命令,使用:pipenv shell,退出虚拟环境则使用exit。当然,也可以使用pipenv run命令隐式激活虚拟环境。
常用pipenv命令
# 创建pipenv虚拟环境
[root@localhost myproject]# pipenv install
[root@localhost myproject]# pipenv --two/--three
# 查看项目所在路径
[root@localhost myproject]# pipenv --where
# 查看虚拟环境所在路径
[root@localhost myproject]# pipenv --venv
# 查看虚拟环境中Python执行文件所在位置(即显示Python解释器信息)
[root@localhost myproject]# pipenv --py
# 进入pipenv虚拟环境(未存在虚拟环境可自动创建)
[root@localhost myproject]# pipenv shell
# 安装与卸载包
(myproject) [root@localhost myproject]# pipenv install requests
(myproject) [root@localhost myproject]# pipenv uninstall requests
(myproject) [root@localhost myproject]# pipenv uninstall --all # 卸载全部包并从Pipfile中移除
# 查看虚拟环境内安装的包以及包之间的依赖关系
(myproject) [root@localhost myproject]# pipenv graph
# 查找虚拟环境所有安装包
(myproject) [root@localhost myproject]# pip list
# 导出虚拟环境内所有依赖包名
(myproject) [root@localhost myproject]# pip freeze > requirements.txt
# 安装项目所依赖全部模块
(myproject) [root@localhost myproject]# pip install -r requirements.txt
# 检查包的安全性
(myproject) [root@localhost myproject]# pipenv check
# 生成Pipenv.lock,Pipfile.lock用来冻结软件包名称及其版本以及其自己的依赖关系的列表
(myproject) [root@localhost myproject]# pipenv lock
# 退出pipenv虚拟环境
(myproject) [root@localhost myproject]# exit
# 删除pipenv当前虚拟环境
[root@localhost myproject]# pipenv --rm
https://blog.csdn.net/cckavin/article/details/100094715
https://www.cnblogs.com/hongdada/p/11014908.html
https://www.cnblogs.com/Erick-L/p/11049391.html
https://blog.csdn.net/qq_30162859/article/details/81571986
https://www.jianshu.com/p/00af447f0005
https://www.cnblogs.com/linyihai/p/10545147.html
Python—版本和环境的管理工具(Pipenv)的更多相关文章
- python版本管理工具pyenv和包管理工具pipenv
一.pyenv版本管理工具 pyenv是一个python版本管理工具,可以实现轻松切换多个python版本 它可根据每个用户更改全局python版本,也可以为每个项目指定python版本,还可以管理v ...
- direnv 一个强大的环境变量管理工具
direnv 是一个基于golang 编写的强大的环境变量管理工具,可以帮助我们简化环境变量管理,而且 支持的平台比较多. 基本使用 下载二进制软件包 https://github.com/dir ...
- python 包管理工具Pipenv
Kenneth Reitz的最新工具Pipenv可以用于简化Python项目中依赖项的管理. 它汇集了Pip,Pipfile和Virtualenv的功能,是一个强大的命令行工具. 入门 首先使用pip ...
- Python的支持工具[0] -> 环境包管理工具[1] -> Anaconda
Anaconda包管理工具 / Anaconda Package Management Tools Anaconda is the world’s most popular Python data s ...
- python 工具链 虚拟环境和包管理工具 pipenv
Pipenv is a tool that aims to bring the best of all packaging worlds (bundler, composer, npm, cargo, ...
- Python关键点笔记之使用 pyenv 管理多个 Python 版本依赖环境
0x00 背景 从接触Python以来,一直都是采用virtualenv和virtualenvwrapper来管理不同项目的依赖环境,通过workon.mkvirtualenv等命令进行虚拟环境切换, ...
- Python的支持工具[0] -> 环境包管理工具[0] -> pip
pip包管理工具 / pip Package Management Tools pip是一个Python包管理工具,主要是用于安装PyPI上的软件包,可以替代easy_install工具. 1 pip ...
- Python包和版本管理的最好工具----pipenv
pipenv 是Kenneth Reitz大神的作品,提供Python的各个版本间的管理,各种包管理.个人觉得是virtualenv pip等工具的合体. pipenv主要有以下特性: (1)以前我们 ...
- Python web 项目的依赖管理工具
Poetry可以帮助你声明.管理和安装Python项目的依赖项,确保你可以在任何地方都拥有正确的堆栈. Poetry支持Python 2.7 和Python 3以上 安装 Poetry提供了一个自定义 ...
随机推荐
- CSS学习笔记-2D转换模块
2D转换模块: 1.旋转 1.1格式: transform:rotate(45deg); 1.2含义: 表示旋转多少度 ...
- 升鲜宝V2.0_杭州生鲜配送行业,再论B端生鲜配送企业管理软件的开发与实施的难点与行业痛点_15382353715_余东升
升鲜宝V2.0_杭州生鲜配送行业,再论B端生鲜配送企业管理软件的开发与实施的难点与行业痛点_15382353715_余东升 笔者简介:升鲜宝供应链管理软件平台创始人,14年软件从业经历,10多年深究生 ...
- Android Gradle 学习笔记(二):Gradle Wrapper
Wrapper,就是对Gradle的一层包装,便于在团队开发过程中统一Gradle构建的版本.这样大家就可以使用统一的Gradle版本进行构建,避免因为Gradle的版本不统一带来的不必要的问题. 这 ...
- 如何为 Automatic Undo Management 调整 UNDO Tablespace 的大小 (Doc ID 262066.1)
How To Size UNDO Tablespace For Automatic Undo Management (Doc ID 262066.1) APPLIES TO: Oracle Datab ...
- misc-4-1
记录一题盲水印的misc,缅怀昨天高校运维挑战赛的twocats翻车车 下载下来binwalk一下 然后在里面发现了压缩包,并找到两长一模一样的图片,还要tip.txt Although two da ...
- Eclipse的使用需要注意的问题
一.修改/设置字符集编码 设置工作空间编码格式 Window--Preference--General--Workspace下,面板''Text file encoding"选择UTF-8格 ...
- for循环创建的a标签,当点击时如何确定点击的是哪一个标签?
创建 代码: js: 效果: 原因: html代码:这种获取选中标签的方式,是通过监听body来实现的,所以body上要增加这个onclick(this)
- WPF Datagrid 控制 第一行和第一列之间的空白
原文:WPF Datagrid 控制 第一行和第一列之间的空白 这个位置就是 这里 我们更改 DataGridControltemplate 模板 看树形结构 里面是一个BUtton 功能是全选 能找 ...
- 【CodeChef】December Challenge 2019 Div1 解题报告
点此进入比赛 这次比赛本来想好好打的,但不幸的是,这周先是要认真复习准备月考,考完又是发烧在床上躺了一个周末,所以最终没能打完. 我还是好弱啊. \(T1\):Binary XOR(点此看题面) 大致 ...
- 利器: Mac自带的图片工具Sips
Sips是Mac提供的一个处理图片的命令行工具,与Photoshop这种重量级选手相比,自然功能上要差很多.不过话说回来如大小裁剪.图片翻转和旋转这些日常小功能其实也不必非得动用Photoshop这样 ...