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. 使用systemd-analyze 工具来分析各个服务进程的启动性能

    systemd-analyze是一个分析启动性能的工具,用于分析启动时服务时间消耗.默认显示启动是内核和用户空间的消耗时间:使用systemd-analyze plot > boot.svg生成 ...

  2. dpwwn-01

    环境配置 靶机下载地址: https://download.vulnhub.com/dpwwn/dpwwn-01.zip 下载好解压打开.vmx文件即可 启动后如图: 无法直接获得靶机ip,用kali ...

  3. 小白都能看懂的 Spring 源码揭秘之Spring MVC

    目录 前言 Spring MVC 请求流程 Spring MVC 两大阶段 初始化 HttpServletBean#init() FrameworkServlet#initServletBean Fr ...

  4. 浅析DES原理

    对称密码体制 对称密码体制:一种加密系统.其加密密钥和解密密钥是相同的,或者能够从其中之一推知另一个.对称密码体制根据对明文加密方式不同分为分组密码和流密码. 分组密码 分组密码按照一定长度(如64b ...

  5. Nacos配置中心集群原理及源码分析

    Nacos作为配置中心,必然需要保证服务节点的高可用性,那么Nacos是如何实现集群的呢? 下面这个图,表示Nacos集群的部署图. Nacos集群工作原理 Nacos作为配置中心的集群结构中,是一种 ...

  6. Makefile学习(一)

       objects = main.o kbd.o command.o display.o \              insert.o search.o files.o utils.o       ...

  7. 面试问题之C++语言:类模板声明与定义为何不能分开

    C++中每个对象所占用的空间大小,是在编译的时候就确定的,在模板类没有真正的被使用之前,编译器是无法知道,模板类中使用模板类型的对象的所占用的空间的大小的.只有模板被真正使用的时候,编译器才知道,模板 ...

  8. SpringBoot Jpa 双数据源mysql + oracle + liquibase+参考源码

    一.yml文件配置 spring: # 数据库配置 datasource: primary: jdbc-url: jdbc:mysql://localhost:3306/mes-dev?useUnic ...

  9. centos容器安装nginx及运行

    进入centos容器: 安装依赖:yum insatll -y wget gcc gcc-c++ make openssl-devel 安装: 到官网复制下载链接:http://nginx.org/d ...

  10. (转载)一篇文章带你分清楚JWT,JWS与JWE

    是JWS(JSON Web Signature),也往往导致了人们对于JWT的误解,但是JWT并不等于JWS,JWS只是JWT的一种实现,除了JWS外,JWE(JSON Web Encryption) ...