Python模組的製作方法例項分析
阿新 • • 發佈:2020-01-09
本文例項講述了Python模組的製作方法。分享給大家供大家參考,具體如下:
1 目的
利用setup.py將框架安裝到python環境中,作為第三方模組來呼叫,
2 第一步:完成setup.py的編寫
以下程式碼相當於一個模板,只用更改name欄位出,改為對應的需要安裝的模組名稱就可以,比如這裡是:py_plus
將setup.py檔案放到py_plus的同級目錄下
from os.path import dirname,join # from pip.req import parse_requirements from setuptools import ( find_packages,setup,) def parse_requirements(filename): """ load requirements from a pip requirements file """ lineiter = (line.strip() for line in open(filename)) return [line for line in lineiter if line and not line.startswith("#")] with open(join(dirname(__file__),'./VERSION.txt'),'rb') as f: version = f.read().decode('ascii').strip() setup( name='py-plus',# 模組名稱 version=version,description='A mini web framework',# 描述 packages=find_packages(exclude=[]),author='xx',author_email='[email protected]',license='Apache License v2',package_data={'': ['*.*']},url='#',install_requires=parse_requirements("requirements.txt"),# 所需的執行環境 zip_safe=False,classifiers=[ 'Programming Language :: Python','Operating System :: Microsoft :: Windows','Operating System :: Unix','Programming Language :: Python :: 2.7','Programming Language :: Python :: 3.4','Programming Language :: Python :: 3.5','Programming Language :: Python :: 3.6',],)
注意: 上面程式碼中可能會報錯需要額外安裝packaging模組,更新setuptools
- pip install packaging
- pip install --upgrade setuptools
pip.req可能不存在,對應的可以:
def parse_requirements(filename): """ load requirements from a pip requirements file """ lineiter = (line.strip() for line in open(filename)) return [line for line in lineiter if line and not line.startswith("#")]
3 第二步:完成requirements.txt的編寫
功能:
- 寫明依賴環境所支援的模組及其版本
使用:
- 在setup.py中使用
- 放置在setup.py同級目錄下
requests>=2.18.4 six>=1.11.0
4 第三步:完成VERSION.txt的編寫
功能:
- 標明當前版本,一個合格的模組,應當具備相應的版本號
使用:
- 在setup.py中使用
- 放置在setup.py同級目錄下
1.0
5 第四步:執行安裝命令
步驟:
- 切換到對應需要python虛擬環境下
- 切換到setup.py所在目錄
- 在終端執行
python setup.py install
更多關於Python相關內容感興趣的讀者可檢視本站專題:《Python檔案與目錄操作技巧彙總》、《Python文字檔案操作技巧彙總》、《Python資料結構與演算法教程》、《Python函式使用技巧總結》、《Python字串操作技巧彙總》及《Python入門與進階經典教程》
希望本文所述對大家Python程式設計有所幫助。