Python輪子打包whl檔案
阿新 • • 發佈:2018-12-22
一、安裝setuptools庫
pip install setuptools
二、編寫setup.py檔案和__init__.py檔案,整理程式碼結構
首先注意目錄的架構
其中print1.py和print2.py是要打包的python程式碼,pagtest是一給資料夾,要把程式碼結構整理成如下的格式:
pagtest/
__init__.py
print1.py
print2.py
setup.py
README.txt
__init__.py檔案可以為空
READDME.txt為介紹檔案
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檔案中。
例如:
from setuptools import setup
setup(name='Qingolddriving',
version='1.0',
description='A olddriver',
author='Qingtai',
author_email='[email protected]',
packages=['Qingolddriver'],
)
三、生成whl檔案:
cd到該目錄執行命令
cd /d F:
python setup.py bdist_wheel