在PyPI上发布自己的python包
最近學習了一下,發(fā)布了一個自己的pypi Python包,這里我大致分享如何發(fā)布自己的Pypi包一般過程。
參考文章01:
https://blog.csdn.net/weixin_37543731/article/details/101192428
0 需求分析
我需要講我寫的myPrint()函數公布給別人用,別人下載我的xiaoTangPypi包,然后可以調用myPrint()函數1 注冊 PyPI 測試賬號
注冊地址:https://test.pypi.org/account/register/
2 安裝環(huán)境
先確保已經安裝了最新版本的 setuptools, wheel, twine
pip install --user --upgrade setuptools wheel twine3 創(chuàng)建項目包myPypiTest
目錄樹結構:
F:. │ README.md │ setup.py │ └─xiaoTangPypixiaoTangTest.py__init__.py3.1 創(chuàng)建 setup.py
setup.py 是 setuptools 的構建腳本,告知 setuptools 包的名稱和版本,以及哪些文件將被打包。
在項目根目錄新建文件 setup.py ,復制黏貼如下代碼到 setup.py:
import setuptoolswith open("README.md", "r",encoding='utf-8') as fh:long_description = fh.read()setuptools.setup(name="xiaoTangPypi",version="0.0.1",author="xiaoTang",author_email="123456@gmail.com",description="Simple test example",long_description=long_description,long_description_content_type="text/markdown",url="https://github.com/taw19960426/-Speech-signal-processing-experiment-tutorial-_python.git",packages=setuptools.find_packages(),classifiers=["Programming Language :: Python :: 3","License :: OSI Approved :: MIT License","Operating System :: OS Independent",],python_requires='>=3.6', )3.2 創(chuàng)建__init__.py
_init_.py 是包內部模塊對外的導出接口,或者說,當使用 import 時的導入對象。 我們把需要提供外部應用使用的函數,數據,類等都放在這個文件里。當然,并非一定要此文件里實現,import 進來的模塊也會被導出,例如下面的
xiaoTangTest.py下的myPrint()函數。
在項目根目錄新建文件夾xiaoTangPypi,xiaoTangPypi文件夾下存放__init__.py和我寫的函數包xiaoTangTest.py,目錄樹如下:
_init_.py
該文件就一個目的,我把要調用的函數聲明在這里,如果涉及到命令行傳參,參考文章:
xiaoTangTest
#!/usr/bin/env python # -*- coding: UTF-8 -*- ''' @File :xiaoTangTest.py @Author :唐維康 @Date :2022/3/25 10:52 @功能: @用法: ''' def xiaoTang():print("**********hello xiaoTang!!!*********")4 打包項目包
首先切換到setup.py所在的目錄:cd ***
然后執(zhí)行:
運行后,項目目錄結構如下:
F:. │ README.md │ setup.py │ ├─build │ ├─bdist.win-amd64 │ └─lib │ └─xiaoTangPypi │ xiaoTangTest.py │ __init__.py │ ├─dist │ xiaoTangPypi-0.0.1-py3-none-any.whl │ xiaoTangPypi-0.0.1.tar.gz │ ├─xiaoTangPypi │ xiaoTangTest.py │ __init__.py │ └─xiaoTangPypi.egg-infodependency_links.txtPKG-INFOSOURCES.txttop_level.txt5 上傳和安裝
5.1 上傳
期間會讓你輸入Pypi的賬戶和密碼
python -m twine upload dist/*上傳完了以后,Pypi可以看到的
5.2 下載
pip install xiaoTangPypi -i https://pypi.tuna.tsinghua.edu.cn/simple簡單寫個測試代碼
#!/usr/bin/env python # -*- coding: UTF-8 -*- ''' @File :test01.py @Author :唐維康 @Date :2022/3/25 16:40 @功能: @用法: ''' import xiaoTangPypixiaoTangPypi.myPrint() 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的在PyPI上发布自己的python包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++通过hiredis连接到redis
- 下一篇: Python练习 | Python 可迭