Python pip高级用法
1.pip 高级用法
为了便于用户安装和管理第三方库和软件,越来越多的编程语言拥有自己的包管理工 具,如 nodejs 的 npm, ruby 的 gem。 Python 也不例外,现在 Python 生态主流的包管理工 具是 pip。
2.pip 介绍
pip 是一个用来安装和管理 Python 包的工具,是 easy_install 的替代品,如果读者使用 的是 Python 2.7.9+或 Python 3.4+版本的 Python,则已经内置了 pip,无须安装直接使用即 可。 如果系统中没有安装 pip,也可以于动安装,如下所示:
sudo apt-get install python-pip
安装 pip 以后,如果有新的 pip 版本,它也会提示用户进行升级:
pip install -U pip
pip 之所以能够成为最流行的包管理工具,并不是因为它被 Python 官方作为默认的包 管理器,而是因为它自身的诸多优点。 pip 的优点有: D pip 提供了丰富的功能,其竞争对手 easy_install 则只支持安装,没有提供卸载和显 示已安装列表的功能; D pip 能够很好地支持虚拟环境; 口 pip 可以通过 requirements.txt 集中管理依赖; 口 pip 能够处理二进制格式(.whl); D pip 是先下载后安装,如果安装失败,也会清理干净,不会留下一个中间状态。 如果用户没有将软件打包上传到 pypi.python.org,则无法使用 pip 进行安装。 对于这种 情况, Python 生态也有标准的做法,例如,我们尝试从源码安装 paramiko。 需要注意的是, 我们也可以通过 pip 安装 paramiko 的, 这里只是为了演示 Python 生态中源码安装:
$git clone https://github . com/paramil王o/paramiko.git $ cd paramiko $ python setup.py Install
3. pip 常用命令
pip 提供的命令不多,但是都很实用,所以,我们来看一下 pip 提供的所有子命令。
下面以 Flask 为例,来看一下 pip 几个常用的子命令。
I )查找安装包:
pip search flask
2 )安装特定的安装包版本:
pip install flask==0.8
3 )删除安装包:
pip uninstall Werkzeug
4 )查看安装包的信息 :
$ pip show flask
Name : Flask
Version: 0.12
Summary: A microframework based on Werkzeug, J工nja2 and good intentions
Home page: http: //github.com/pallets/flask/
Author: Armin Ronacher
Author-email: armin .ronacher@act工ve-4 . com
License: BSD
Location: /home/lmx/ . pyenv /versions/2. 7 .13 /lib/python2. 7 /site-packages
Requires : click, Werkzeug, Jinja2, itsdangerous
5 )检查安装包的依赖是否完整 :
$ pip check flask Flask 0.12 requires Werkzeug, which is not installed.
6 )查看已安装的安装包列表:
pip list
7 )导出系统已安装的安装包列表到 requirements 文件:
pip freeze > requirements.txt
8 )从 requirements 文件安装:
pip install r requireme口ts.txt
9 )使用 pip 命令补全:
pip completion --bash >~/ .profile $ source ~ I .profile
4.加速 pip 安装的技巧
如果大家使用 Python 的时间比较长的话,会发现 Python 安装的一个问题,即 pypi. python.org 不是特别稳定,有时候会很慢,甚至处于完全不可用的状态。 这个问题有什么好 办法可以解决呢?根据笔者的经验,至少有两种不同的方法。 1. 使用豆瓣或阿里云的源加速软件安装 访问 pypi.python.org 不稳定的主要原因是因为网络不稳定,如果我们从网络稳定的服 务器下载安装包,问题就迎刃而解了。 我们国内目前有多个 pypi 镜像,推荐使用豆瓣的镜 像源或阿里的镜像源。 如果要使用第三方的源,只需要在安装时,通过 pip 命令的-i 选项 指定镜像源即可。 如下所示:
pip install -i ht tps: I /pypi. douban . com/ s 工mple/ flask
每次都要指定镜像源的地址比较麻烦,我们也可以修改 pip 的配置文件,将镜像源写入 配置文件中。 对于 Linux 系统来说,需要创建~/.pip/pip.conf文件,然后在文件中保存如 下内容:
$ cat pip.conf [global) index-url = https : //pypi . douban . com/simple/
2. 将软件下载到本地部署 如果需要对大批量的服务器安装软件包,并且安装包比较多或者比较大,则可以考虑 将软件包下载到本地,然后从本地安装。 这对于使用脚本部署大量的服务器非常有用 ,此 外,对于服务器无法连接外网的情况,也可以使用这种方法。 如下所示:
#下载到本地
pip install download=’pwd’-r requirements.txt
#本地安装
pip install --no-index -f file . / / ’ pwd’-r requirements.txt
使用这种方式,只需要下载一次,就可以多处安装,不用担心网络不稳定的问题。 并 且, pip 能够自动处理软件依赖问题。 例如,我们通过这种方式下载 Flask 到当前目录下, 则 Flask 的依赖 click、 itsdangerous、 Jinja2、 MarkupSafe 和 Werkzeug 也会被下载到本地, 如下所示 :
pip install --download=’pwd ’ flask
$ ls click-6.7-py2 .py3-none-any .whl itsdangerous-0 .24 .tar.gz MarkupSafe-0.23 .tar.gz Flask-0.12-py2 .py3-none-any.whl Jinja2-2.9 .5-py2.py3-none-any.whl Werkzeug-0.11 .15-py2.py3-none-any.whl
Python pip高级用法的更多相关文章
- python requests 高级用法
高级用法 本篇文档涵盖了 Requests 的一些高级特性. 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 url ...
- python 循环高级用法 [expression for x in X [if condition] for y in Y [if condition] ... for n in N [if condition] ]按照从左至右的顺序,分别是外层循环到内层循环
高级语法 除了像上面介绍的 [x ** 2 for x in L] 这种基本语法之外,列表推导式还有一些高级的扩展. 4.1. 带有if语句 我们可以在 for 语句后面跟上一个 if 判断语句,用于 ...
- (转)python requests 高级用法 -- 包括SSL 证书错误的解决方案
我在使用requests访问某个https网站时出现错误 error::SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify fai ...
- python requests 高级用法 -- 包括SSL 证书错误的解决方案
Session Objects会话对象 Session对象在请求时允许你坚持一定的参数.此外,还坚持由Session实例的所有请求的cookie. 让我们坚持在请求时使用 s = requests.S ...
- Python sqlalchemy 高级用法
一. 关联查询 sys_user_list = SysPermission.query.join(OrgRolePermission, OrgRolePermission.sys_permission ...
- Python中第三方库Requests库的高级用法详解
Python中第三方库Requests库的高级用法详解 虽然Python的标准库中urllib2模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人实在感觉不好.它已经不适合现在的时代, ...
- python接口自动化 - Requests-3 高级用法
高级用法 本篇文档涵盖了 Requests 的一些高级特性. 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 url ...
- 简学Python第七章__class面向对象高级用法与反射
Python第七章__class面向对象高级用法与反射 欢迎加入Linux_Python学习群 群号:478616847 目录: Python中关于oop的常用术语 类的特殊方法 元类 反射 一.P ...
- Python高级用法总结
Python很棒,它有很多高级用法值得细细思索,学习使用.本文将根据日常使用,总结介绍Python的一组高级特性,包括:列表推导式.迭代器和生成器.装饰器. 列表推导(list comprehensi ...
随机推荐
- rem - 移动前端自适应适配布局解决方案和比较(转载)
原文链接:http://caibaojian.com/mobile-responsive-example.html 互联网上的自适应方案到底有几种呢?就我个人实践所知,有这么几种方案:· 固定一个某些 ...
- NLP(二十七)开放领域的三元组抽取的一次尝试
当我写下这篇文章的时候,我的内心是激动的,这是因为,自从去年6月份写了文章利用关系抽取构建知识图谱的一次尝试 后,我就一直在试图寻找一种在开放领域能够进行三元组抽取的办法,也有很多读者问过我这方面 ...
- 【Weiss】【第03章】栈例程
写栈比队列更简单一些,毕竟只有一个数据出入口. 之前用C在程序里模拟栈代替递归的时候,直接搞个数组来实现都是非常轻松愉快的事情. 不多说,放代码. 测试代码 #include <iostream ...
- [AFO·游记]我的C++451天游击战
写在前面 05/10/19 今天心情很糟糕,没学新东西,复习没复习,作业没写完,下午要网课,明天要月考,脑子里就像是被一团棉花塞住了.静静的思考了半个小时,把自己手头上的事情排了个序,所以决定先把游记 ...
- ECharts的使用与总结
ECharts的使用与总结 一,介绍与需求 1.1,介绍 ECharts商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9 ...
- 使用TensorFlow进行训练识别视频图像中物体
本教程针对Windows10实现谷歌公布的TensorFlow Object Detection API视频物体识别系统,其他平台也可借鉴. 本教程将网络上相关资料筛选整合(文末附上参考资料链接),旨 ...
- [Docker8]Dockerfiles
Comment INSTRUCTION arguments FROM 基于哪个base镜像 RUN 执行命令并创建新的镜像层,run经常用于安装软件包 MAINTAINER 镜像创建者 copy 将文 ...
- deepin 系统 ssh,samba,redis,取消开机密码等相关配置
ssh安装 sudo apt-get install openssh-server service ssh start ssh root 用户登入配置 安装完毕,运行命令"sudo vi / ...
- 阅读了这三篇文章,你也就基本理解了ASP.NET Core MVC框架的工作原理
<200行代码,7个对象--让你了解ASP.NET Core框架的本质>让很多读者对ASP.NET Core管道有深刻的理解,知道了ASP.NET Core框架针对每个请求的处理流程.在过 ...
- 吴恩达最新TensorFlow专项课程开放注册,你离TF Boy只差这一步
不需要 ML/DL 基础,不需要深奥数学背景,初学者和软件开发者也能快速掌握 TensorFlow.掌握人工智能应用的开发秘诀. 以前,吴恩达的机器学习课程和深度学习课程会介绍很多概念与知识,虽然也会 ...