知行编程网知行编程网  2023-01-14 12:30 知行编程网 隐藏边栏  5 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于详解Python中的包和包管理工具的相关知识,包括python库和包的区别,以及软件包管理工具这些编程知识,希望对大家有参考作用。


Python中的包

包是一种层次化的文件目录结构,它定义了一个由模块、子包和子包下的子包组成的Python应用环境。

Python包及包管理工具详解

考虑 Phone 目录中的 pots.py 文件。该文件具有以下源代码:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
  
def Pots():
  print "I'm Pots Phone"

同样,我们还有另外两个具有不同功能的文件:

Phone/Isdn.py 含有函数Isdn()

Phone/G3.py 含有函数G3()

现在,在Phone目录下创建file __init__.py:

Phone/__init__.py

在导入Phone时,为了能够使用所有功能,需要在__init__.py中使用显式导入语句,如下:

from Pots import Pots
from Isdn import Isdn
from G3 import G3

当你将这段代码添加到 __init__.py 中时,这些类将在导入 Phone 包时全部可用。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
  
# 导入 Phone 包
import Phone
  
Phone.Pots()
Phone.Isdn()
Phone.G3()

以上实例输出结果:

I'm Pots Phone
I'm 3G Phone
I'm ISDN Phone

上面为了举例,我们在每个文件中只放了一个函数,但是你可以放很多个函数。你还可以在这些文件中定义 Python 类,然后为这些类创建一个包。


Python的包管理工具

Distribute 是对标准库的 disutils 模块的增强。我们知道disutils主要是用来更方便的打包和分发包,尤其是依赖其他包的包。

Distribute被创建是因为Setuptools包不再维护了。


安装Distribute

Distribute可以通过distribute_setup.py脚本安装,也可以通过easy_install、pip、源文件安装,但是使用distribute_setup.py安装是最简单也是最流行的方式

$ curl -0 http://python-distribute.org/distribute_setup.py
$ sudo python distribute_setup.py

pip 是一个安装 python 包的工具。它提供了安装包、列出已安装包、升级包和卸载包的功能。

pip是easy_install的替代品,提供了和easy_install一样的查找包的功能,所以可以用easy_install安装的包也可以用pip安装。


安装Pip

Pip的安装可以通过源代码包,easy_install或者脚本。

下面介绍一下各种安装方法:

源代码方式:

$ wget http://pypi.python.org/packages/source/p/pip/pip-0.7.2.tar.gz (替换为最新的包)
$ tar xzf pip-0.7.2.tar.gz
$ cd pip-0.7.2
$ python setup.py install

easy_install:

$ easy_install pip

get_pip.py 脚本:

$ curl -0 https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$ sudo python get-pip.py

下面来看一下

Pip

的使用


安装package

$ pip install Markdown


列出安装的packages

$ pip freeze


安装特定版本的package

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

$ pip install 'Markdown<2.0'
$ pip install 'Markdown>2.0,<2.0.3'


升级包

升级包到当前最新的版本,可以使用-U 或者 --upgrade

$ pip install -U Markdown


卸载包

$ pip uninstall Markdown


查询包

pip search "Markdown"

PS -- 包安装后的py文件路径:

/usr/local/lib/python2.7/dist-packages

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享