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 ...
随机推荐
- MybatisPlus SQL 打印控制台
#applicaton.yml 配置 mybatis-plus: configuration: # 是否将sql打印到控制面板(该配置会将sql语句和查询的结果都打印到控制台) log-impl: o ...
- idea 新建java类自动补充创建人,创建时间,版本等..
1.先进入 File 2.进入 Editor 找到 File and Code Templates 并点击 3.右侧点击 lncludes 4.第二项 File Header /** * @aut ...
- 如何使用python图形化界面wxPython
GUI库主要有三类:tkinter,wxPython和PyQt5,下面主要是针对wxPython的使用说明. 下面的操作均在win10 + pycharm上进行 wxPython的安装: pip in ...
- Cisco二层交换机命令
1.二层交换机基本配置 Switch >Switch >enable # 进入特权模式 Switch#configure terminal # 进入全局配置模式 Switch(co ...
- B - Yet Another Palindrome Problem的简单方法
You are given an array aa consisting of nn integers. Your task is to determine if aa has some subseq ...
- Linux基础篇学习——常见系统命令:ls,pwd,cd,date,hwclock,passwd,su,clear,who,w,uname,uptime,last,dmesg,free,ps,top
ls 显示指定目录中的内容 ls [OPTION]... [FILE]... OPTION -a --all,显示所有文件包括隐藏文件 -l 列出长属性,显示出文件的属性与权限等数据信息 -i 列出 ...
- 配置ssh免密登录遇到的问题——使用VMware多虚拟机搭建Hadoop集群
搭建环境: 虚拟机 VMware12Pro 操作系统 centos6.8 hadoop 1.2.1 1.导入镜像文件,添加java环境 1.查看当前系统中安装的java,ls ...
- Windows下用Python你会几种copy文件的方法?
1. [代码]1. os.system ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 import os import temp ...
- ElasticSearch 倒排索引
倒排索引 倒排表以字或词为关键字进行索引,表中关键字所对应的记录表项记录了出现这个字或词的所有文档,一个表项就是一个字表段,它记录该文档的ID和字符在该文档中出现的位置情况. 由于每个字或词对应的文档 ...
- 阿里云域名+ 腾讯云服务器 配置nginx
1,实现目标,通过外网访问域名,能够通过nginx 实现反向代理,以及负载均衡 2,准备工具 阿里云注册的域名: aiyuesheng.com 腾讯云领取的云服务器:centos 7 xshell 6 ...