详解Python编程中包的概念与管理

系统 1352 0

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_setup.py 脚本来安装Distribute,也可以通过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

          

 
OK, 下面来看一下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
          


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论