如何向PyPi pip 提交模組

2021-08-25 19:49:47 字數 2018 閱讀 5492

向 提交自己的模組步驟如下:

setup.py 中包含了你要提交模組的大部分資訊。其寫法如下:

from setuptools import setup, find_packages

setup(

# 以下為必需引數

name='sampleproject', # 模組名

version='1.2.0', # 當前版本

description='a sample python project', # 簡短描述

py_modules=["my_module"], # 單檔案模組寫法

# ckages=find_packages(exclude=['contrib', 'docs', 'tests']), # 多檔案模組寫法

# 以下均為可選引數

long_description="",# 長描述

url='', # 主頁鏈結

author='the python packaging authority', # 作者名

author_email='[email protected]', # 作者郵箱

classifiers=[

'development status :: 3 - alpha', # 當前開發進度等級(測試版,正式版等)

'intended audience :: developers', # 模組適用人群

'topic :: software development :: build tools', # 給模組加話題標籤

'programming language :: python :: 2', # 模組支援的python版本

'programming language :: python :: 2.7',

'programming language :: python :: 3',

'programming language :: python :: 3.4',

'programming language :: python :: 3.5',

'programming language :: python :: 3.6',

],install_requires=['peppercorn'], # 依賴模組

extras_require=,

package_data=,

data_files=[('my_data', ['data/data_file'])], # 類似package_data, 但指定不在當前包目錄下的檔案

entry_points=,

'bug reports': '/issues',

'funding': '',

'say thanks!': '',

'source': '/',

},)

模組可以包含乙個使用rst或markdown寫的readme說明檔案。

開源模組一般會選擇乙個license表明他人可以如何使用此模組。如果不知道選哪個可以使用輔助選擇。

另外還有一些檔案manifest.in(填寫模組所需的額外檔案),setup.cfg(setup初始化檔案)可以在官方文件查詢用法。

pip install wheel # 安裝wheel模組

python setup.py sdist # 原始碼包

python setup.py bdist_wheel --universal # 打包為無需build的wheel。其中--universal表示py2和py3通用的pure python模組。不滿足通用或pure條件的模組不需加此引數

先在pypi註冊乙個賬戶:

然後安裝上傳所需模組:

pip install twine

最後上傳:

twine upload dist/*

參考資料

《packaging and distributing projects》

如何向App Store提交應用

介紹 前提 圖1.註冊成為ios開發者 1.你的應用已經準備好了嗎?step1.測試 step2.規則和指南 2.預先準備 step 2 distribution certificate 發布證書 如果對此不熟悉,我建議你讀下蘋果關於signing certificates和provisioning...

iOS 向App Store提交應用

1.你的應用已經準備好了嗎?2.預先準備 3.assets 資源包 4.提交準備 step 1 完成基本資訊 step 2 和有效性 step 3 元資料 如果你的應用等級跟內容不符合,蘋果也會拒絕你的應用。step 4 準備上傳二進位制檔案 5.上傳二進位制檔案 為了上傳程式,需要為程式建立乙個a...

python向網頁提交資料

源 以 為例 該網頁並非使用非同步載入方法 coding utf8 importrequests importre url html requests.get url text print html.encode gb18030 用於使用非同步載入方法的 直接改變page的引數值即可url temp...