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

首頁 > 編程 > Python > 正文

Python打包模塊wheel的使用方法與將python包發布到PyPI的方法詳解

2020-02-15 21:13:42
字體:
來源:轉載
供稿:網友

wheel文件

Wheel和Egg都是python的打包格式,目的是支持不需要編譯或制作的安裝過程,實際上也是一種壓縮文件,將.whl的后綴改為.zip即可可看到壓縮包里面的內容。按照官網說法,wheels是發行版Python的新標準并且要取代.egg。

Egg格式是由setuptools在2004年引入,而Wheel格式是由PEP427在2012年定義。 Wheel現在被認為是Python的二進制包的標準格式。

以下是Wheel和Egg的主要的不同點:

Wheel有一個官方的PEP427來定義,而Egg沒有PEP定義。

Wheel是一種分發格式,即打包格式。而Egg既是一種分發格式,也是一種 運行時安裝的格式,并且是可以被import的。

Wheel文件不會包含.pyc文件

Wheel使用和PEP376兼容的.dist-info目錄,而Egg使用.egg-info目錄。

Wheel有著更豐富的命名規則。

Wheel是有版本的,每個Wheel文件都包含wheel規格的版本和打包它的實現。

Wheel在內部被sysconfig path type管理,因此轉向其他格式也更容易。

distutils和setuptools工具

用來Python環境中構建和安裝額外的模塊,模塊可以基于Python,也可以C/C++寫的擴展模塊,可以是python包,包中包含了C和Python編寫的模塊。

setuptools是 Python Enterprise Application Kit(PEAK)的一個副項目,它是一組Python的 distutilsde工具的增強版(適用于 Python 2.3.5 以上的版本,64 位平臺則適用于 Python 2.4 以上的版本),可以讓程序員更方便的創建和發布 Python 包,特別是那些對其它包具有依賴性的狀況。

setuptools重點在于setup.py文件編寫:

setup.py參數介紹:

name : 打包起來的包的文件名

version : 版本號,添加為打包文件的后綴名

author : 作者

author_email : 作者的郵箱

py_modules : 打包的.py文件

packages: 打包的python文件夾

include_package_data : 項目里會有一些非py文件,比如html和js等,這時候就要靠include_package_data 和 package_data 來指定了。package_data:一般寫成{‘your_package_name': [“files”]}, include_package_data還沒完,還需要修改MANIFEST.in文件.MANIFEST.in文件的語法為: include xxx/xxx/xxx/.ini/(所有以.ini結尾的文件,也可以直接指定文件名)

license : 支持的開源協議

description : 對項目簡短的一個形容

ext_modules : 是一個包含Extension實例的列表,Extension的定義也有一些參數。

ext_package : 定義extension的相對路徑

requires : 定義依賴哪些模塊

provides : 定義可以為哪些模塊提供依賴

data_files :指定其他的一些文件(如配置文件),規定了哪些文件被安裝到哪些目錄中。如果目錄名是相對路徑,則是相對于sys.prefix或sys.exec_prefix的路徑。如果沒有提供模板,會被添加到MANIFEST文件中。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玉环县| 平定县| 博野县| 朔州市| 望城县| 佛冈县| 右玉县| 九江县| 黄大仙区| 出国| 凤台县| 五台县| 昌都县| 龙里县| 独山县| 鲁甸县| 黑龙江省| 长宁县| 湖北省| 台中县| 洞头县| 县级市| 永仁县| 秦安县| 永修县| 皮山县| 滁州市| 敦化市| 象州县| 南充市| 得荣县| 昌江| 梁山县| 博乐市| 西乡县| 内丘县| 牡丹江市| 广水市| 科技| 明水县| 新疆|