高级用法

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

上篇《优雅的使用python之环境管理》http://dwz.cn/wTsOr,如何管理python环境,有了一个干净的python环境之后,就不可避免的安装python软件包(python软件包丰富也是它的优点之一,不用重复造轮子)。本篇介绍如何优雅的管理Python软件包。

常用软件包管理工具

一般python软件包管理工具,主要有以下:

图常用python包管理工具

可以看到distribute是setuptools的替代方案(因为Setuptools包不再维护了),pip是easy_install的替代方案。本篇重点介绍pip,其它感兴趣的自行了解。

pip最流行的软件包管理工具

pip的核心开发人员之一的Donald Stufft,去年写了一篇博客详细描述了PyPI CDN供应商4天的流量。其中一个纬度展示,使用软件包管理工具从PyPI安装软件包的用户中,大约75%的用户使用pip。该工具已被证明非常有用和流行,在2013年10月pip将被从3.4版本起,随python内置发布。

图:PyPI安装工具使用统计图(https://caremad.io/2013/10/a-look-at-pypi-downloads/)

PyPI首页推荐的软件包安装方法:

安装方法一:

l 下载get-pip.py文件,https://bootstrap.pypa.io/get-pip.py

l python get-pip.py

D:\Python33>python get-pip.py

Downloading/unpacking pip

Downloading/unpacking setuptools

Installing collected packages: pip, setuptools

Successfully installed pip setuptools

Cleaning up...

方式二:源码方式安装

l 下载源码包:https://pypi.python.org/packages/source/p/pip/

l 解压

l cd到对应目录

l python setup.py install

使用l 从PyPI安装软件包:

$ pip install SomePackage

[...]

Successfully installed SomePackage

l 查看软件包安装了哪些文件及路径等信息:

$ pip show --files SomePackage

Name: SomePackage

Version: 1.0

Location: /my/env/lib/pythonx.x/site-packages

Files:

../somepackage/__init__.py

[...]

l 查看哪些软件包已经有更新版本了:

$ pip list --outdated

SomePackage (Current: 1.0 Latest: 2.0)

l 升级软件包:

$ pip install --upgrade SomePackage

[...]

Found existing installation: SomePackage 1.0

Uninstalling SomePackage:

Successfully uninstalled SomePackage

Running setup.py install for SomePackage

Successfully installed SomePackage

l 卸载软件包:

$ pip uninstall SomePackage

Uninstalling SomePackage:

/my/env/lib/pythonx.x/site-packages/somepackage

PRoceed (y/n)? y

Successfully uninstalled SomePackage

pip高级用法

前面小节介绍pip的基本功能使用,已经满足了绝大部分需求。下面介绍pip的一些高级用法:

l 查询软件包

$ pip search "query"

l 列出安装的所有软件包

$ pip list

l 安装软件包的指定版本号

通过使用==, >=, <=, >, <来指定一个版本号

$ pip install SomePackage # latest version

$ pip install SomePackage==1.0.4 # specific version

$ pip install 'SomePackage>=1.0.4' # minimum version

l 根据依赖文件安装软件包

想象一个场景,使用《优雅的使用python之环境管理》创建了一个感觉的虚拟环境,然后安装了一些依赖的软件包,开发出了应用APP。这个时候,你需要部署到服务器?

这个时候可以使用pip导出依赖文件列表,然后在服务器上根据依赖文件列表,自动安装对应的软件包。是不是很方便!

pip freeze > requirements.txt

pip install -r requirements.txt

相关连接:

https://pip.pypa.io/en/latest/installing.html

https://pip.pypa.io/en/latest/quickstart.html

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航