2.5 使用pip管理库

安装Python后会默认安装pip工具,该工具可以用来安装、升级和移除库。默认情况下 pip 将从[Python Package Index]https://pypi.org 处下载安装软件包。

pip 有许多子命令: "install", "uninstall", "freeze" 等等。下面我们来介绍一些比较重要且实用的pip命令。

2.5.1 安装、升级库(install)

通过指定包的名称来安装最新版本的包:

>>> pip install novas

Collecting novas

Downloading novas-3.1.1.3.tar.gz (136kB)

Installing collected packages: novas

Running setup.py install for novas

Successfully installed novas-3.1.1.3

通过提供包名称后跟 == 和版本号来安装特定版本的包:

>>> pip install requests2.6.0

Collecting requests2.6.0

Using cached requests-2.6.0-py2.py3-none-any.whl

Installing collected packages: requests

Successfully installed requests-2.6.0

如果重新运行这个命令,pip 会注意到已经安装了所请求的版本,则什么都不做。我们可以提供不同的版本号来获取库指定的版本。

通过pip install --upgrade 将库升级到最新版本:

>>> pip install --upgrade requests

Collecting requests

Installing collected packages: requests

Found existing installation: requests 2.6.0

Uninstalling requests-2.6.0:

Successfully uninstalled requests-2.6.0

Successfully installed requests-2.7.0

2.5.2 删除库(uninstall)

>>> pip uninstall 库名

2.5.3 查询某个库信息(show)

>>> pip show requests

Name(库名): requests

Version(版本号): 2.27.1

Summary(介绍): Python HTTP for Humans.

Home-page(主页): https://requests.readthedocs.io

Author(作者): Kenneth Reitz

Author-email(作者邮箱): me@kennethreitz.org

License(许可): Apache 2.0

Location(安装路径): c:\program files\Python3102\lib\site-packages

Requires(依赖): idna, urllib3, certifi, charset-normalizer

Required-by(被依赖,指在当前本地所有安装好的第三方库中): tldextract, requests-file, DingtalkChatbot, baidu-aip

2.5.4 查询所有已安装的库(list)

>>> pip list

novas (3.1.1.3)

numpy (1.9.2)

pip (7.0.3)

requests (2.7.0)

setuptools (16.0)

2.5.5 查看已安装包列表(freeze)

pip freeze将生成一个类似的已安装包列表,但输出使用 pip install 期望的格式。一个常见的约定是将此列表放在 requirements.txt 文件中:

>>> pip freeze > requirements.txt

>>> more requirements.txt

novas3.1.1.3

numpy1.9.2

requests2.7.0

然后可以将 requirements.txt 提交给版本控制并作为应用程序的一部分提供。然后用户可以使用 install -r 安装所有必需的包:

>>> Python -m pip install -r requirements.txt

Collecting novas3.1.1.3 (from -r requirements.txt (line 1))

...

Collecting numpy1.9.2 (from -r requirements.txt (line 2))

...

Collecting requests2.7.0 (from -r requirements.txt (line 3))

...

Installing collected packages: novas, numpy, requests

Running setup.py install for novas

Successfully installed novas-3.1.1.3 numpy-1.9.2 requests-2.7.0

pip其它常用命令

pip install pywin32==223 # 安装特定版本的库

Python.exe -m pip install --upgrade pip # 升级

pip show pip # 查看pip的详细信息,笔者一般用来查看pip安装路径

pip show 库名 # 查看某个库的详细信息

示例:

>>> pip show requests

Name(库名): requests

Version(版本号): 2.27.1

Summary(介绍): Python HTTP for Humans.

Home-page(主页): https://requests.readthedocs.io

Author(作者): Kenneth Reitz

Author-email(作者邮箱): me@kennethreitz.org

License(许可): Apache 2.0

Location(安装路径): c:\program files\Python3102\lib\site-packages

Requires(依赖): idna, urllib3, certifi, charset-normalizer

Required-by(被依赖,指在当前本地所有安装好的第三方库中): tldextract, requests-file, DingtalkChatbot, baidu-aip

read time out问题

在pip安装库的时候可能会出现read time out报错。一般由于Python库被墙导致下载速度变慢,pip下载超时(默认等待是15秒)。

解决办法:

更改Python包的下载源,使用国内镜像包并更改timeout默认值。

在C:\Users\当前用户名\中,新建pip文件夹,再此文件夹中创建pip.ini文件。文件内容如下:

[global]

timeout = 6000

index-url = http://pypi.douban.com/simple/

[install]

use-mirrors = true

mirrors = http://pypi.douban.com/simple/

trusted-host = pypi.douban.com

其它下载源:

源名称 源地址
清华 https://pypi.tuna.tsinghua.edu.cn/simple
阿里云 http://mirrors.aliyun.com/pypi/simple
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple
华中理工大学 http://pypi.hustunique.com
山东理工大学 http://pypi.sdutlinux.org
豆瓣 http://pypi.douban.com/simple

为CMD窗口设置代理:

set http_proxy=http://xx.xx.xx.xx:xxx

set https_proxy=https://xx.xx.xx.xx:xxx

将cmd窗口代理设置成系统代理服务器的设置:

netsh winhttp import proxy source=ie

练习

熟悉并练习掌握上述pip命令

使用pip管理库的更多相关文章

  1. Windows 安装 pip管理工具

    Step 1: 设置Python环境变量(我的Python 是 2.7.3) SETX PATH "%path%;D:\python;D:\python\Scripts" 也可以在 ...

  2. python的pip管理工具

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

  3. 【python画圆】pip安装库时出现Read timed out.解决办法

    昨天第一次用python画圆,当时并没有安装numpy库(导入数据包)和matplotlib库(导入图形包),于是尝试用pip安装库 首先,我先更新了pip,如下图: 顺便附上成功截图: 然后安装nu ...

  4. 【python】pip安装库时出现Read timed out.解决办法

    昨天第一次用python画圆,当时并没有安装numpy库(导入数据包)和matplotlib库(导入图形包),于是尝试用pip安装库 首先,我先更新了pip,如下图: 顺便附上成功截图: 然后安装nu ...

  5. HTML5 离线缓存管理库

    一.HTML5离线缓存技术 支持离线缓存是HTML5中的一个重点,离线缓存就是让用户即使在断网的情况下依然可以正常的运行应用.传统的本地存储数据的方式有 localstorage,sessionsto ...

  6. Android Fresco (Facebook开源的图片加载管理库)

    Fresco是Facebook开源的一个图片加载和管理库. 这里是Fresco的GitHub网址. 同类型的开源库市面有非常多,比如Picasso, Universal Image Loader, G ...

  7. vue组件化开发-vuex状态管理库

    Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.Vuex 也集成到 Vue 的官方调试工具 ...

  8. Wenaox 一款轻量性能好的微信小程序状态管理库

    感慨一下!!! 从开始开发 wenaox 从开始到现在,,时不时更新一下,改一改 bug,却发现已经快 1 年了 orz 虽然很少人用 hhh,但偶尔也会有人提一些问题,我就知道还有人用的~ 感兴趣的 ...

  9. Git---初入开源代码管理库的学习过程003

    Git常用命令总结 上接<Git 初入开源代码管理库的学习过程>学了一周Git,基本有了个认识.每一位比我厉害的,都是大牛,网上找了几篇博客和教材(感谢你们),边学习边实践用了四天,写笔记 ...

随机推荐

  1. (leetcode)链表反转-c语言实现

    反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 使用迭代方法,代码 ...

  2. fastcgi未授权访问及任意命令执行

    1. 漏洞原理 服务端使用fastcgi协议并对外网开放9000端口,攻击者可以构造fastcgi协议包内容,实现未授权访问服务端.php文件以及执行任意命令. 2. 漏洞利用 第一步 搭建vulhu ...

  3. windows server 2008r2 在vmware里自动关机

    虚拟机没有激活所以导致自动关机,试试激活它.<wiz_tmp_tag id="wiz-table-range-border" contenteditable="fa ...

  4. sum 函数语法与应用

    一.sum 函数语法: SELECT SUM(expression )   FROM tables    WHERE predicates; expression 常量.列或函数,或者是算术.按位与字 ...

  5. 『现学现忘』Docker基础 — 35、实战:自定义CentOS镜像

    目录 1.前提说明 2.编写Dockerfile文件 3.构建镜像 4.运行镜像 5.列出镜像的变更历史 1)目标:自定义镜像wokong_centos. 2)所用到的保留字指令: FROM:基础镜像 ...

  6. python 字典dict 增删改查操作

    初始化: a. data_dict = {} b. data_dict1 = dict() c. data_dict2 = {'key':'value'} 新增: a. data_dict[key]= ...

  7. 上传文件到阿里云linux服务器(windows到Linux的文件上传)

    在"运行"中输入cmd,打开控制台,切换到刚才Putty的安装目录下,我的是E:\Putty,然后输入pscp命令,我们需要这个命令来实现文件的上传.如下命令格式: F:\PuTT ...

  8. mysql 的INNODB引擎和MYISAM引擎的区别、索引相关

    两个引擎都是使用B+tree 数据结构作为索引 不同点: 1.INNODB的主键必须要有,同时也是聚集索引,INNODB的数据文件本身就是索引文件:而MYISAM则是存储了数据的地址 2.INNODB ...

  9. SpringCloud个人笔记-03-Config初体验

    sb-cloud-config 配置中心 <?xml version="1.0" encoding="UTF-8"?> <project xm ...

  10. 一个注解@Recover搞定丑陋的循环重试代码

    使用背景 在实际项目中其中一部分逻辑可能会因为调用了外部服务或者等待锁等情况下出现不可预料的异常,在这个时候我们可能需要对调用这部分逻辑进行重试,代码里面主要就是使用for循环写一大坨重试的逻辑,各种 ...