本文僅討論上傳相關的步驟,關於如何給寫一個setup.py
請參閱官方文檔:html
setup.py
的補充說明name
必須是惟一的,容許使用數字和字母,推薦使用中劃線(-)而不是下劃線(_),由於pip安裝只支持中劃線,好比pip install my-pkg
,爲了避免給本身找麻煩請聽話。version
推薦遵循語義化版本號規則,簡單說就像這樣:1.2.0若是上面的都沒問題,在本地目錄執行如下命令應該能成功在dist目錄下生成*.tar.gz的包文件。python
python setup.py sdist
很是簡單,直接經過官網註冊 https://pypi.python.org/pypi?..., 可是須要驗證郵件並確認激活。git
~/.pypirc
在本身的用戶目錄下新建一個空白文件命名爲.pypirc
,內容以下:github
[distutils] index-servers=pypi [pypi] repository = https://upload.pypi.org/legacy/ username = <username> password = <password>
用戶名和密碼就是上一步驟所建立的,直接明文輸入。若是你以爲明文密碼不安全也能夠留空,在後面的上傳過程當中會提示你手動輸入。shell
你須要到PyPI註冊並驗證你的包,以後才能開始真正上傳,註冊的方式有如下幾種。安全
python setup.py register
,最簡單但官網不推薦,由於使用的是HTTP未加密,有可能會被攻擊人嗅探到你的密碼。pip install twine
而後在經過命令 twine register dist/mypkg.whl
完成註冊。你能夠任選如下兩種方式之一發布你的輪子。網絡
python setup.py sdist upload
,仍是和上面同樣,簡單但有安全隱患,目前已淘汰。twine upload dist/*
若是你的包已經上傳成功,那麼當你登陸PyPI網站後應該能在右側導航欄看到管理入口。併發
點擊包名進去後你能夠對你的包進行管理,固然你也能夠從這裏刪除這個包。測試
包發佈完成後,其餘人只須要使用pip就能夠安裝你的包文件。好比:網站
pip install package-name
若是你更新了包,別人能夠能夠經過--update
參數來更新:
pip install package-name --update
錯誤的用戶驗證信息,你須要建立一個用戶驗證文件 ~/.pypirc
。請參閱上文。
你須要先註冊你的包才能夠開始上傳,運行註冊命令:python setup.py register
你的PyPI帳戶還沒完成郵箱驗證,你須要去註冊郵箱找到一封驗證郵件完成驗證後再重試失敗的步驟。
你的setup.py文件中的classifier信息有誤,請按官網的正確分類書寫classifier.
你還沒打包就開始了上傳命令,建議打包和上傳的操做放在一塊兒作,好比:
python setup sdist upload
這應該是網絡問題,多重試幾回。
文件已經存在了,你每一次上次都應該更新版本號。
關於做者:Python技術愛好者,目前從事測試開發相關工做,轉載請註明原文出處。歡迎關注個人博客 https://betacat.online,你能夠到個人公衆號中去當吃瓜羣衆。