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)的更多相关文章

  1. python版本管理工具pyenv和包管理工具pipenv

    一.pyenv版本管理工具 pyenv是一个python版本管理工具,可以实现轻松切换多个python版本 它可根据每个用户更改全局python版本,也可以为每个项目指定python版本,还可以管理v ...

  2. direnv 一个强大的环境变量管理工具

      direnv 是一个基于golang 编写的强大的环境变量管理工具,可以帮助我们简化环境变量管理,而且 支持的平台比较多. 基本使用 下载二进制软件包 https://github.com/dir ...

  3. python 包管理工具Pipenv

    Kenneth Reitz的最新工具Pipenv可以用于简化Python项目中依赖项的管理. 它汇集了Pip,Pipfile和Virtualenv的功能,是一个强大的命令行工具. 入门 首先使用pip ...

  4. Python的支持工具[0] -> 环境包管理工具[1] -> Anaconda

    Anaconda包管理工具 / Anaconda Package Management Tools Anaconda is the world’s most popular Python data s ...

  5. python 工具链 虚拟环境和包管理工具 pipenv

    Pipenv is a tool that aims to bring the best of all packaging worlds (bundler, composer, npm, cargo, ...

  6. Python关键点笔记之使用 pyenv 管理多个 Python 版本依赖环境

    0x00 背景 从接触Python以来,一直都是采用virtualenv和virtualenvwrapper来管理不同项目的依赖环境,通过workon.mkvirtualenv等命令进行虚拟环境切换, ...

  7. Python的支持工具[0] -> 环境包管理工具[0] -> pip

    pip包管理工具 / pip Package Management Tools pip是一个Python包管理工具,主要是用于安装PyPI上的软件包,可以替代easy_install工具. 1 pip ...

  8. Python包和版本管理的最好工具----pipenv

    pipenv 是Kenneth Reitz大神的作品,提供Python的各个版本间的管理,各种包管理.个人觉得是virtualenv pip等工具的合体. pipenv主要有以下特性: (1)以前我们 ...

  9. Python web 项目的依赖管理工具

    Poetry可以帮助你声明.管理和安装Python项目的依赖项,确保你可以在任何地方都拥有正确的堆栈. Poetry支持Python 2.7 和Python 3以上 安装 Poetry提供了一个自定义 ...

随机推荐

  1. 77777 77777(2) WriteUp 绕waf技巧学习

    两个题的代码都是一样的 只是waf不一样 贴出代码 <?php function update_point($p,$point){ global $link; $q = sprintf(&quo ...

  2. 【实习第二天】odoo开发基础(二)

    搜索视图 搜索试图包括过滤器(Filters),分组(Group By)以及收藏(Favorites) 其中还包括默认的搜索栏 搜索栏添加自定义方法 <!--views.xml--> &l ...

  3. MATLAB实例:对称双随机矩阵

    MATLAB实例:对称双随机矩阵 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 双随机矩阵(doubly stochastic matrix):元素属 ...

  4. Re-py交易

    python在线反编译 https://tool.lu/pyc/ 获得源码 import base64 def encode(message): s = '' for i in message: x ...

  5. Java入门之人需要注意的5大步骤

    作为最抢手的程序开发言语之一,Java在互联网领域中的方位无需赘言.抢手也带来了高薪和许多的作业时机,对那些预备通过学习Java来改动自己命运的同学来说,需求做好以下作业. 1.考虑一下 学习Java ...

  6. CF732D Exams

    这题可以用二分答案来做 那么为什么可以用二分答案呢? 答案当然是满足了单调性. 假设用\(x\)天能够考完所有试,那么用大于$x $天必定也能够考完所有试,所以满足了单调性,我们就可以二分答案 那么如 ...

  7. 第02组 Beta版本演示

    目录 1. 博客链接及组员信息(2分) 2. 贡献比例(3分) 3. GitHub 项目链接(1分) 4. 博客汇总(2分) 5. 燃尽图(3分) 6. 原计划.达成情况及原因分析(6分) 7. Be ...

  8. vscode源码分析【八】加载第一个画面

    第一篇: vscode源码分析[一]从源码运行vscode 第二篇:vscode源码分析[二]程序的启动逻辑,第一个窗口是如何创建的 第三篇:vscode源码分析[三]程序的启动逻辑,性能问题的追踪 ...

  9. flask--数据库迁移之连环踩坑记

    flask数据库迁移命令: python manage.py db init python manage.py db migrate python manage.py db upgrade 1.报错: ...

  10. 使用Runtime自定义KVO,原理浅析

    一.介绍 什么是KVO?全称key-value-observer,键值观察,观察者设计模式的另一种实现.其作用是通过观察者监听属性值的变化而做出函数回调. 二.原理 KVO基于Runtime机制实现, ...