Python包管理工具pip的安装和使用

Python019

Python包管理工具pip的安装和使用,第1张

Python有两个著名的包管理工具easy_install.py和pip。在Python2.7的安装包中,easy_install.py是默认安装的,而pip需要我们手动安装。

方法1:利用常用curl获取

>>后面是指定获取的pip脚本的名字,也可以是curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

方法2:利用wget获取,先要安装wget

备注:看网上还有利用easy_install安装pip,但是我尝试了并没有成功

原因是 Python.org sites 终止支持TLS1.0和1.1版本,TLS需要>=1.2

参考: https://stackoverflow.com/questions/49768770/not-able-to-install-python-packages-ssl-tlsv1-alert-protocol-version

主要命令

所有命令中,最重要的两个命令是install和uninstall。

pip支持四种方式安装python包。

从PyPI安装一个包

安装一个全局区域的包,一般需要sudo权限。在mac系统上,即使是管理员也无法安装,自从OS X El Capitan及以后的版本包含了一套安全技术(System Integrity Protection简称为SIP)来防止恶意软件修改系统保护区域。具体可参考SIP。因此,我们有时候需要将PyPI包安装到用户区,这个时候,可以用.

pip在升级软件包之前会自动卸载旧的软件包。

可以将所有需要安装的包放入一个requirements.txt文件中,然后可以一次安装。requirements.txt 文件的每一行都要表明安装的内容,而且尽量不要依赖文件中指定包的前后安装顺序。

从git安装

从svn安装

从一个分支安装

还有很多其他的包安装功能,但是上面的已经满足了大部分需求。其他的请参考 文档 。

pip uninstall可以卸载大部分的包,除了一下两种情况

使用方式主要有两种:

卸载单个包

卸载多个包

pip check用来验证已安装的包是否有兼容的依赖性问题。

上面的结果说明matplotlib包有两个依赖包没有安装。

pip search用来搜索名字或者摘要中包含搜索关键字的PyPI包。

选项只有一个,就是指定PyPI的url,默认url为 https://pypi.python.org/pypi

例如,search frida

以下两者都可以用,结果同上。

pip list命令会按照字典序排列列举已安装的包,包括可编辑的包。

主要有如下选项:

输出格式:

legacy:将要被废弃

freeze

columns

json

当某些时候debug的时候,需要提供一个完整的python环境,python freeze提供了此功能,它能够输出机器上python环境的快照(所有已安装的包)。

下面是freeze命令的选项:

输出用户区安装的前5个安装包:

pip show可以用来显示每个包的具体信息。show命令只有一个选项 -f,用来显示安装包的文件列表。

$ pip show -f|--files packageName

更多命令请参考 文档

pip默认的index-url是 https://pypi.python.org/pypi/ ,

为了提高速度,我们可以更改pip源为国内的阿里云源。更改方法如下:

创建配置文件

添加阿里源

pip.conf内容如下:

2. Requirements 文件

3.使用 Wheel 安装

4.卸载包

5.包信息

6.VirtualEnv——虚拟环境搭建(linux系统)

7.requests——全能请求库

<Response [200]>#200是状态码,表示http请求正常响应

8. JSON ——JavaScript对象标记

xiaodong@Xiaodong-VMSrv:~/work/tornado_test/xiaodong1$

xiaodong@Xiaodong-VMSrv:~$ mkdir work

xiaodong@Xiaodong-VMSrv:~$ cd work/

xiaodong@Xiaodong-VMSrv:~/work$ ls

xiaodong@Xiaodong-VMSrv:~/work$ mkdir tornado_test

xiaodong@Xiaodong-VMSrv:~/work$ ls

tornado_test

xiaodong@Xiaodong-VMSrv:~/work$ cd tornado_test/

xiaodong@Xiaodong-VMSrv:~/work/tornado_test$ ls

xiaodong@Xiaodong-VMSrv:~/work/tornado_test$ mkdir xiaodong1

xiaodong@Xiaodong-VMSrv:~/work/tornado_test$ ls

xiaodong1

```

Collecting virtualenv

Downloading https://pypi.doubanio.com/packages/6f/..../virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB)

100% |████████████████████████████████| 1.8MB 3.4MB/s

Installing collected packages: virtualenv

Successfully installed virtualenv-15.1.0

```

xiaodong@Xiaodong-VMSrv:~/work/tornado_test/xiaodong1$ ls

xiaodong@Xiaodong-VMSrv:~/work/tornado_test/xiaodong1$ virtualenv python2_tornado

New python executable in /home/xiaodong/work/tornado_test/xiaodong1/python2_tornado/bin/python

Installing setuptools, pip, wheel...done.

```

(python2_tornado) xiaodong@Xiaodong-VMSrv:~/work/tornado_test/xiaodong1/python2_tornado$ pip install tornado

Collecting tornado

Downloading tornado-4.5.1.tar.gz (483kB)

100% |████████████████████████████████| 491kB 419kB/s

......#此处省略部分内容

Successfully installed backports-abc-0.5 certifi-2017.4.17 singledispatch-3.4.0.3 tornado-4.5.1

(python2_tornado) xiaodong@Xiaodong-VMSrv:~/work/tornado_test/xiaodong1/python2_tornado$ pip install sqlalchemy

Collecting sqlalchemy

......#此处省略部分内容

Downloading SQLAlchemy-1.1.9.tar.gz (5.2MB)

100% |████████████████████████████████| 5.2MB 47kB/s

......

Successfully built sqlalchemy

Installing collected packages: sqlalchemy

Successfully installed sqlalchemy-1.1.9