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. [SPDK/NVMe存储技术分析]007 - 初识UIO

    注: 要进一步搞清楚SSD盘对应的PCI的BAR寄存器的映射,有必要先了解一下UIO(Userspace I/O). UIO(Userspace I/O)是运行在用户空间的I/O技术.在Linux系统 ...

  2. 内网代理工具--EarthWorm

    一.简介 EarthWorm是内网穿透的神器,拥有三项功能正向代理,反向代理,端口转发. 为实现这些功能,EarthWorm建立了六大功能模块.分别是ssocksd , rcsocks , rssoc ...

  3. .Net Core EF的使用步骤

    EF Core--Code First (代码优先) 第一步 安装 NuGet包 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore ...

  4. 解释AOP?

    面向切面的编程,或AOP, 是一种编程技术,允许程序模块化横向切割关注点,或横切典型的责任划分,如日志和事务管理.

  5. jvm-learning-类加载器分类

    public class ClassLoaderTest { public static void main(String[] args) { //获取系统类加载器 ClassLoader syste ...

  6. SpringBoot静态资源配置访问上传文件

    使用SpringBoot项目开发上传文件的代码时,如果想访问已上传的文件,但处于测试阶段,而不想配置Nginx服务并启动这么繁琐,那么配置以下代码即可 @Override public void ad ...

  7. CAS 的问题 ?

    1.CAS 容易造成 ABA 问题 一个线程 a 将数值改成了 b,接着又改成了 a,此时 CAS 认为是没有变化,其实 是已经变化过了,而这个问题的解决方案可以使用版本号标识,每操作一次 versi ...

  8. 面试问题之C++语言:C与C++的区别

    C是C++的基础,C++语言和C语言在很多方面是兼容的. C是结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出或实现过程(事务 ...

  9. mysqlbench无法启动

    mysqlbean双击没有反应,应用无法启动,缺少3要素 都缺什么呢?看这个MySQL官方链接:https://dev.mysql.com/doc/workbench/en/wb-installing ...

  10. java后台解决上传图片翻转90的问题,有demo,经过测试可用

    1.需要加入 依赖 metadata-extractor.jar 依赖如下 <dependencies> <!-- Extracts Exif, IPTC, XMP, ICC and ...