Python—版本和环境的管理工具(Pipenv)

pipenv简介

  • 虚拟环境本质是一个文件,是为了适应不同的项目而存在。pipenv相当于virtualenv和pip的合体。
  • 整合了 pip+virtualenv+Pipfile,能够自动处理好包的依赖问题和虚拟环境问题,是最推荐使用的虚拟环境管理。
  • 过去用virtualenv管理requirements.txt文件可能会有问题,Pipenv使用Pipfile和Pipfile.lock,后者存放包的依赖关系,查看依赖关系十分方便。
  • 各个地方使用了哈希校验,无论安装还是卸载包都十分安全,且会自动公开安全漏洞。
  • 通过加载.env文件简化开发工作流程。
  • 支持Python2 和 Python3,在各个平台的命令都是一样的。

安装、升级、卸载pipenv

1# 安装pipenv 2[root@localhost ~]# pip install pipenv 3# 升级pipenv 4[root@localhost ~]# pip install --upgrade pipenv 5# 卸载pipenv 6[root@localhost ~]# pip uninstall pipenv

使用pipenv

1# 1.进入到项目目录 2[root@localhost ~]# cd /www/wwwroot/myproject 3# 2.创建虚拟环境 4[root@localhost myproject]# pipenv install 5[root@localhost myproject]# pipenv install --three # 使用当前系统的Python3创建环境 6[root@localhost myproject]# pipenv --two # 使用python2创建环境 7[root@localhost myproject]# pipenv --three # 使用python3创建环境 8[root@localhost myproject]# pipenv --python 3.6 # 指定某个Python版本创建环境 9[root@localhost myproject]# pipenv --python <path/to/python> # 指定某个位置的Python创建环境 10# 3.激活并进入虚拟环境 11[root@localhost myproject]# pipenv shell 12# 4.在虚拟环境中安装模块,并加入到Pipfile。可以不进入虚拟环境中,直接在项目目录下面使用pipenv安装即可。 13(myproject) [root@localhost myproject]# pipenv install requests 14(myproject) [root@localhost myproject]# pipenv install django==1.11 15(myproject) [root@localhost myproject]# pipenv uninstall requests 16# 5.运行python项目 17(myproject) [root@localhost myproject]# python Main.py 18(myproject) [root@localhost myproject]# pipenv run python main.py 19# 6.退出虚拟环境 20(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命令

1# 创建pipenv虚拟环境 2[root@localhost myproject]# pipenv install 3[root@localhost myproject]# pipenv --two/--three 4# 查看项目所在路径 5[root@localhost myproject]# pipenv --where 6# 查看虚拟环境所在路径 7[root@localhost myproject]# pipenv --venv 8# 查看虚拟环境中Python执行文件所在位置(即显示Python解释器信息) 9[root@localhost myproject]# pipenv --py 10# 进入pipenv虚拟环境(未存在虚拟环境可自动创建)   11[root@localhost myproject]# pipenv shell 12# 安装与卸载包 13(myproject) [root@localhost myproject]# pipenv install requests 14(myproject) [root@localhost myproject]# pipenv uninstall requests 15(myproject) [root@localhost myproject]# pipenv uninstall --all # 卸载全部包并从Pipfile中移除 16# 查看虚拟环境内安装的包以及包之间的依赖关系 17(myproject) [root@localhost myproject]# pipenv graph 18# 查找虚拟环境所有安装包 19(myproject) [root@localhost myproject]# pip list 20# 导出虚拟环境内所有依赖包名 21(myproject) [root@localhost myproject]# pip freeze > requirements.txt 22# 安装项目所依赖全部模块 23(myproject) [root@localhost myproject]# pip install -r requirements.txt 24# 检查包的安全性 25(myproject) [root@localhost myproject]# pipenv check 26# 生成Pipenv.lock,Pipfile.lock用来冻结软件包名称及其版本以及其自己的依赖关系的列表 27(myproject) [root@localhost myproject]# pipenv lock 28# 退出pipenv虚拟环境   29(myproject) [root@localhost myproject]# exit 30# 删除pipenv当前虚拟环境 31[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

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )