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. jeesite3环境部署时初始化数据库注意问题

    ---恢复内容开始--- 首先要修改jeesite.properties下数据库连接方式,注意选择自己的数据库 其次在pom.xml文件中修改对应的数据库连接方式 最后运行db文件夹下的init-db ...

  2. could not launch process: debugserver or lldb-server not found: install XCode's command line tools or lldb-server

    0x00 事件 VS 调试 go 的时候,发生了这个错误,导致无法调试: could not launch process: debugserver or lldb-server not found: ...

  3. JUC-1-volatile

    什么是volatile关键字      volatile是轻量级同步机制,与synchronized相比,他的开销更小一些,同时安全性也有所降低,在一些特定的场景下使用它可以在完成并发目标的基础上有一 ...

  4. Codeforces Round #578 (Div. 2)

    Codeforces Round #578 (Div. 2) 传送门 A. Hotelier 暴力即可. Code #include <bits/stdc++.h> using names ...

  5. Git 提交代码到远程仓库

    Git 命令 一.Git如何把本地代码推送到远程仓库 1. 拉取指定分支代码 git clone -b dev https://github.com/crazyfzw/RecycleViewWithH ...

  6. leetcode 1041. 困于环中的机器人

    题目地址 : https://leetcode-cn.com/problems/robot-bounded-in-circle/ 在无限的平面上,机器人最初位于 (0, 0) 处,面朝北方.机器人可以 ...

  7. fis3打包中的一些注意事项

    1.在html文件中,如果在标签的style属性内添加路径,fis不会识别改路径并打包,如 2.fis主要针对静态文件进行打包.对其他文件打包会出现一些问题. 比如jsp页面.下面的例子script. ...

  8. P3525 INS-Inspection

    这道题的题面有点问题,如果按照题面做,应该是A不了的,下面引用一下评论里@REM_001的翻译 一棵n个节点的树,行动中心S从1->N.从S出发前往任意一个未标记到的点(沿树上两点的唯一路径走) ...

  9. Codeforces Round #599 (Div. 2) B2. Character Swap (Hard Version) 构造

    B2. Character Swap (Hard Version) This problem is different from the easy version. In this version U ...

  10. php time() 和 $_SERVER['REQUEST_TIME']

    time() 和 $_SERVER['REQUEST_TIME']效率 结果:(其中之一) 结论: time() : 执行时间在0.10 - 0.30 之间 $_SERVER['REQUEST_TIM ...