国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

詳解Python編程中包的概念與管理

2019-11-25 17:03:44
字體:
來源:轉載
供稿:網友

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 Potsfrom Isdn import Isdnfrom G3 import G3


當你把這些代碼添加到__init__.py之后,導入Phone包的時候這些類就全都是可用的了。

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

以上實例輸出結果:

I'm Pots PhoneI'm 3G PhoneI'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 installeasy_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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宝坻区| 樟树市| 宜丰县| 安图县| 富宁县| 镇安县| 塘沽区| 灵山县| 乡宁县| 胶州市| 潮州市| 伊宁县| 兴隆县| 孝义市| 韩城市| 呼玛县| 平度市| 许昌市| 青田县| 淅川县| 新泰市| 嘉兴市| 中牟县| 赫章县| 固镇县| 浦北县| 蕉岭县| 佛冈县| 麦盖提县| 建宁县| 思南县| 永靖县| 昌黎县| 汪清县| 红桥区| 公安县| 甘泉县| 门头沟区| 丰宁| 南川市| 金秀|