主頁(yè) > 知識(shí)庫(kù) > 用Python將庫(kù)打包發(fā)布到pypi

用Python將庫(kù)打包發(fā)布到pypi

熱門(mén)標(biāo)簽:看懂地圖標(biāo)注方法 廣東旅游地圖標(biāo)注 蘇州人工外呼系統(tǒng)軟件 電話外呼系統(tǒng)招商代理 京華圖書(shū)館地圖標(biāo)注 電話機(jī)器人貸款詐騙 打印谷歌地圖標(biāo)注 佛山通用400電話申請(qǐng) 淮安呼叫中心外呼系統(tǒng)如何

如果需要將自己寫(xiě)好的python打包,并發(fā)布到pypi,這樣其他人就可以直接通過(guò)pip install來(lái)安裝對(duì)應(yīng)的包,可以參考如下教程

1. 注冊(cè)pypi賬號(hào)并創(chuàng)建token

首先訪問(wèn)https://pypi.org/ 并注冊(cè)賬號(hào)
然后跳轉(zhuǎn)到賬號(hào)設(shè)置

然后選擇API token->Add API token

輸入token name并在Scope中選擇Entire account(第一次需要選擇Entire account)

然后在本地,修改.pypirc文件
輸入的內(nèi)容為:

[pypi]
username = __token__
password = {token}

只需要修改{token}為自己的token即可

2. 編寫(xiě)setup.py和setup.cfg

setup.cfg的內(nèi)容為

[metadata]
license_files = LICENSE.txt

LICENSE.txt是license文件,需要自行編寫(xiě)
setup.py在根目錄下,一個(gè)示例為

from setuptools import setup
import compileall
from os import path
# 讀取readme文件,這樣可以直接顯示在主頁(yè)上
this_directory = path.abspath(path.dirname(__file__))
with open(path.join(this_directory, 'README.md'), encoding='utf-8') as f:
    long_description = f.read()

compileall.compile_dir("src")

setup(
    name='my-python',
    version='1.0.2',
    packages=['src',
              'src.main',
              'src.main.config'],
    url='https://github.com/hTangle',
    license='Apache 2.0',
    author='hTangle',
    author_email='',
    description='',
    keywords='',
    python_requires='>=3.4, 4',
    long_description=long_description,
    long_description_content_type='text/markdown',
    install_requires=['requests']
)

具體的字段含義如下:

name: 包名

version: 版本號(hào),支持如下形式

1.2.0.dev1  # Development release
1.2.0a1     # Alpha Release
1.2.0b1     # Beta Release
1.2.0rc1    # Release Candidate
1.2.0       # Final Release
1.2.0.post1 # Post Release
15.10       # Date based release
23          # Serial release

description: 包描述,會(huì)放在如下圖所示的位置處

url: 包的鏈接,可以使用github鏈接,pypi會(huì)自動(dòng)獲取到倉(cāng)庫(kù)的信息,示例如下:


author: 作者

license: 許可證

classifiers: 分類,示例如下:

classifiers=[
    # How mature is this project? Common values are
    #   3 - Alpha
    #   4 - Beta
    #   5 - Production/Stable
    'Development Status :: 3 - Alpha',

    # Indicate who your project is intended for
    'Intended Audience :: Developers',
    'Topic :: Software Development :: Build Tools',

    # Pick your license as you wish (should match "license" above)
    'License :: OSI Approved :: MIT License',

    # Specify the Python versions you support here. In particular, ensure
    # that you indicate whether you support Python 2, Python 3 or both.
    'Programming Language :: Python :: 2',
    'Programming Language :: Python :: 2.7',
    'Programming Language :: Python :: 3',
    'Programming Language :: Python :: 3.6',
    'Programming Language :: Python :: 3.7',
    'Programming Language :: Python :: 3.8',
    'Programming Language :: Python :: 3.9',
],

keywords: 關(guān)鍵字,和論文的關(guān)鍵字類似

project_urls: 一些項(xiàng)目的其他鏈接,示例如下

project_urls={
    'Documentation': 'https://packaging.python.org/tutorials/distributing-packages/',
    'Funding': 'https://donate.pypi.org',
    'Say Thanks!': 'http://saythanks.io/to/example',
    'Source': 'https://github.com/pypa/sampleproject/',
    'Tracker': 'https://github.com/pypa/sampleproject/issues',
},

packages: 需要打包的目錄,需要以根目錄為起點(diǎn),可以使用

find_packages自動(dòng)查找包,注意不要漏寫(xiě)

install_requires: 包依賴的其他包

python_requires: python的版本需求

package_data: 需要的額外的文件,例如包強(qiáng)依賴一個(gè)本地文件,可以使用如下

package_data={
    'sample': ['package_data.dat'],
},

3. 打包

打包命令為

python setup.py cmd

cmd可以取值為

bdist_wheel : create a wheel distribution

bdist_egg : create an “egg” distribution

sdist : create a source distribution (tarball, zip file, etc.)

bdist : create a built (binary) distribution

bdist_dumb : create a “dumb” built distribution

bdist_rpm : create an RPM distribution

bdist_wininst : create an executable installer for MS Windows

打包為tar.gz

python setup.py sdist

打包好的文件再dist目錄下

4. 上傳

可以首先使用twine對(duì)包進(jìn)行檢查

twine check dist/*

輸出如下

再運(yùn)行上傳命令

twine upload dist/*

到此這篇關(guān)于用Python將庫(kù)打包發(fā)布到pypi的文章就介紹到這了,更多相關(guān)python打包到pypi內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 如何將自己的python庫(kù)打包成wheel文件并上傳到pypi
  • 如何利用pyinstaller打包Python程序?yàn)閑xe可執(zhí)行文件
  • python腳本打包后無(wú)法運(yùn)行exe文件的解決方案
  • 解決python 打包成exe太大的問(wèn)題
  • Python .py生成.pyd文件并打包.exe 的注意事項(xiàng)說(shuō)明
  • Python實(shí)現(xiàn)圖片指定位置加圖片水?。ǜ絇yinstaller打包exe)
  • 史上最詳細(xì)的Python打包成exe文件教程
  • Python項(xiàng)目打包成二進(jìn)制的方法
  • python3.9實(shí)現(xiàn)pyinstaller打包python文件成exe
  • python 利用Pyinstaller打包Web項(xiàng)目
  • 使用Python中tkinter庫(kù)簡(jiǎn)單gui界面制作及打包成exe的操作方法(二)
  • python中如何打包用戶自定義模塊
  • python打包多類型文件的操作方法
  • Python打包exe時(shí)各種異常處理方案總結(jié)

標(biāo)簽:駐馬店 股票 呼和浩特 江蘇 衡水 中山 湖州 畢節(jié)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《用Python將庫(kù)打包發(fā)布到pypi》,本文關(guān)鍵詞  用,Python,將,庫(kù),打包,發(fā)布,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《用Python將庫(kù)打包發(fā)布到pypi》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于用Python將庫(kù)打包發(fā)布到pypi的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章