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. 6月13日 python学习总结 Django框架

    1. 内容回顾 1. 基础必会三件套 from django.shortcuts import HttpResponse, render, redirect - HttpResponse(" ...

  2. 阿里一面,说说你了解zookeeper的应用场景有哪些?

    1.前言 又到了金三银四的时候,大家都按耐不住内心的躁动,我在这里给大家分享下之前面试中遇到的一个知识点(zookeeper应用场景),希望对大家有些帮助.如有不足,欢迎大佬们指点指点. 2.zook ...

  3. request的自动urlencode问题解决

    今天写盲注脚本的时候,由于题目对空格进行了过滤,所以必须要用%09进行代替,然而当我在脚本中,将payload的空格替换成%09的时候,抓包发现进行了两次编码,导致脚本一直跑不通. 自己在网上也没有找 ...

  4. 半吊子菜鸟学Web开发 -- PHP学习 4 --异常

    PHP异常处理 1 抛出一个异常 与Python的try except类似,PHP用try catch来捕获异常 基本语法 try{ //可能出现错误或异常的代码 //catch表示捕获,Except ...

  5. Oracle入门基础(十一)一一PL/SQL基本语法

    1.打印Hello World declare --说明部分 begin --程序 dbms_output.put_line('Hello World'); end; 2.引用型变量 查询并打印783 ...

  6. 两个对象值相同(x.equals(y) == true),但却可以有不同的hashcode?

    这个得看情况,如果该对象重写了equals方法,那么可能会出现equals相同,但hashcode不同的情况,但假如没有重写equals方法,那么它默认继承是Object的equals方法,根据源码可 ...

  7. java-設計模式-生成器

    生成器模式Bulider 使你能够分步骤创建复杂对象. 该模式允许你使用相同的创建代码生成不同类型和形式的对象. 将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示. 将一个复杂的 ...

  8. scrapy框架初识及使用

    一.什么是Scrapy? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍.所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等) ...

  9. Citus 分布式 PostgreSQL 集群 - SQL Reference(查询处理)

    一个 Citus 集群由一个 coordinator 实例和多个 worker 实例组成. 数据在 worker 上进行分片和复制,而 coordinator 存储有关这些分片的元数据.向集群发出的所 ...

  10. Vue报错之"[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead......"

    一.报错截图 [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the p ...