Python新利器之pipenv
前言
之前学习异步asyncio
库的时候,因为asyncio
库支持Python3.5以上的版本,而我的Ubuntu14.04只有Python3.4,虽然下载了Python3.6,但是想直接利用ipython3或者pip3调用Python3.6相关的东西有点困难,可能是我手法不对,有点混乱。
之前只是简单的用过virtualenv
,直到发现了这个pipenv
,有点吊炸天。
额,是不是有种发懵的感觉?
那么现在有个好消息,你可以只使用终极方案: pipenv + autoenv(可选)。
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已经集成了它。
接下来,我们看看怎么使用它吧
安装
$ pip install pipenv
用法
在使用pipenv之前,必须彻底的忘记pip这个东西 新建一个准备当环境的文件夹pipenvtest,并cd进入该文件夹:
pipenv --three 会使用当前系统的Python3创建环境 pipenv --python 3.6 指定某一Python版本创建环境 pipenv shell 激活虚拟环境 pipenv --where 显示目录信息
/home/jiahuan/pipenvtest pipenv --venv 显示虚拟环境信息
/home/jiahuan/.local/share/virtualenvs/pipenvtest-9KKRH3OW pipenv --py 显示Python解释器信息
/home/jiahuan/.local/share/virtualenvs/pipenvtest-9KKRH3OW/bin/python pipenv install requests 安装相关模块并加入到Pipfile pipenv install django==1.11 安装固定版本模块并加入到Pipfile
pipenv graph 查看目前安装的库及其依赖
requests==2.18.4
- certifi [required: >=2017.4.17, installed: 2017.11.5]
- chardet [required: <3.1.0,>=3.0.2, installed: 3.0.4]
- idna [required: >=2.5,<2.7, installed: 2.6]
- urllib3 [required: >=1.21.1,<1.23, installed: 1.22]
pipenv check
检查安全漏洞
Checking PEP 508 requirements…
Passed!
Checking installed package safety…
All good!
pipenv uninstall --all
卸载全部包并从Pipfile中移除
Found 5 installed package(s), purging…
Uninstalling certifi-2017.11.5:
Successfully uninstalled certifi-2017.11.5
Uninstalling chardet-3.0.4:
Successfully uninstalled chardet-3.0.4
Uninstalling idna-2.6:
Successfully uninstalled idna-2.6
Uninstalling requests-2.18.4:
Successfully uninstalled requests-2.18.4
Uninstalling urllib3-1.22:
Successfully uninstalled urllib3-1.22
跟上面graph命令显示的内容对应
出现个报错
之后随意测试的时候 使用pipenv --two
想创建一个基于Python2.7的虚拟环境时出了点问题。报了这样一个错误
TypeError: 'NoneType' object is not subscriptable
而使用pipenv --python 3.6
却没有问题(自带的是Python3.5,Python3.6新安装的,这让我很纳闷,明天去公司试一试。
经过测试:在公司ubuntu机器上可以使用 ,今晚再回家里试试...
.....
回家仔细观察了报错,原来是我pip源的配置文件出了点错,多了个空格,囧 ~
OK,那就没问题
==========================================
2018/01/24更新
pipenv install 安装模块时有时候会很慢
可以设置国内源:Pipfile
文件中[source]
下面url
属性,比如修改成:url = "https://pypi.tuna.tsinghua.edu.cn/simple"
小结
这里写了一个pipenv常用的命令,很不错的工具,pip与virtualenv的结合体,值得一用。
Python新利器之pipenv的更多相关文章
- Python新利器之pipenv(转)
pipenv 都包含什么? pipenv 是 Pipfile 主要倡导者.requests 作者 Kenneth Reitz 写的一个命令行工具,主要包含了Pipfile.pip.click.requ ...
- Python开发利器之UliPad
一.安装Ulipad 因为ulipad编辑器使用的是wxpython编写的gui,所以我们需要第三方库wxpython的支持,先讲一下Ulipad在Windows系统环境下的安装: 1. 确实自己的w ...
- 芝麻HTTP: Python爬虫利器之PyQuery的用法
前言 你是否觉得 XPath 的用法多少有点晦涩难记呢? 你是否觉得 BeautifulSoup 的语法多少有些悭吝难懂呢? 你是否甚至还在苦苦研究正则表达式却因为少些了一个点而抓狂呢? 你是否已经有 ...
- 芝麻HTTP:Python爬虫利器之Xpath语法与lxml库的用法
安装 pip install lxml 利用 pip 安装即可 XPath语法 XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历.XPat ...
- 芝麻HTTP: Python爬虫利器之Requests库的用法
前言 之前我们用了 urllib 库,这个作为入门的工具还是不错的,对了解一些爬虫的基本理念,掌握爬虫爬取的流程有所帮助.入门之后,我们就需要学习一些更加高级的内容和工具来方便我们的爬取.那么这一节来 ...
- Python爬虫利器之Beautiful Soup,Requests,正则的用法(转)
https://cuiqingcai.com/1319.html https://cuiqingcai.com/2556.html https://cuiqingcai.com/977.html
- Win下必备利器之Cmder
诚言,对于开发码字者,Mac和Linux果断要比Windows更贴心;但只要折腾下,Windows下也是有不少利器的.之前就有在Windows下效率必备软件一文中对此做了下记载:其虽没oh-my-zs ...
- Python虚拟开发环境pipenv
简介 requests库的作者,requests库的作者,requests库的作者(重要的事情说三遍)的又一力作,囊落了virtualenv, pip, pipfile等作为虚拟开发环境的命令行工具 ...
- Android开发利器之ActivityTracker
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/113 Android开发利器之ActivityTracke ...
随机推荐
- LoadRunner(4)
一.LoadRunner工具的组成 1.VuGen 虚拟用户脚本生成器 脚本好比:武器 VuGen好比:兵工厂 VU好比:士兵 2.Controller 压力调度控制台 好比:总指挥部 3.Analy ...
- Linux下批量修改文件编码
假设需要将所有afish目录下的php文件,编码从gb2312转到utf8 cd afish find ./ -type f -name “*.php”|while read line;do echo ...
- linux下top命令的使用
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 视图参数含义 top视图分为两部分:操作系统资源概况信息和进程信息.首先分析资源 ...
- move post process stack from package to asset
这东西折腾了我好久 原来一直都是打开的方式不对 package 文件夹里面的manifest文件 改相应的package为文件路径引用 "com.unity.render-pipel ...
- confluence配置搭建
1.环境准备:需要安装jdk.需要mysql5.7数据库,创建数据库confluence并创建用户和密码 CREATE DATABASE `confluence` DEFAULT CHARACTER ...
- struts表单提交(4)和(3)相关
实体类 public class Supplier { private int id; private String supplierid; private String suppliernane; ...
- Navicat连接虚拟机上的mysql
刚刚在虚拟主机上安装mysql, 想使用Navicat 操作mysql. 但是连接不上 报错: 2003 - can't connect to MySQL server on '192.168.1 ...
- HDU 5974 A Simple Math Problem ——(数论,大连区域赛)
给大一的排位赛中数论的一题.好吧不会做...提供一个题解吧:http://blog.csdn.net/aozil_yang/article/details/53538854. 又学了一个新的公式..如 ...
- impala 四舍五入后转换成string后又变成一个double的数值解决(除不尽的情况)
impala 四舍五入后转换成string后又变成一个double的数值解决(除不尽的情况)例如Query: select cast(round(2 / 3, 4)*100 as string)+-- ...
- SQL Labs刷题补坑记录(less54-less65)
LESS54: 只有10次尝试,dump处secret key 直接union 查就可以,括号为单引号闭合 LESS55: 尝试出来闭合的方式为)括号,后面操作与54相同 LESS56: 尝试出来括号 ...