Submit自己的專案到pypi « Terrence的宅宅幻想
前一陣子看同事用自己在pypi上的專案部署,一行指令就可以完成安裝package感覺挺酷的
節錄幾個重點,
1.註冊帳號
註冊好之後還必須確定帳號有透過email確認過,不然可能之後的操作會跑出如下訊息
可以的話順便再註冊一個github帳號來用用(雖說這跟pypi沒有關係),可以在自己的module裡面登入自己的github也蠻爽的
2.產生~/.pypirc
.pypirc是設定用來登入pypi跟pypitest,這個設定方式試用mac或是其他linux。
windows就請參考其他網頁
~/.pypirc的設定如下
username跟password各自輸入自己在pypi登入的帳號密碼server-login用pypi的帳號密碼就行了
覺得麻煩的話就pypi跟pypiytest設定一樣帳號密碼也是個變通的選擇
3.產生專案目錄
假設python的專案放在mypackage下,那mypackage的結構大概會長得如下
其中一定要有的是setup.py跟README
他們最好放在專案目錄的頂層,而README如果不用markdown形式的話就要取名README.txt
如果想用README.md這個檔名的話就要在新增一個MANIFEST.in檔案
因為一般setup.py只會打包.py的檔案,如果有其他想打包的檔案就要用MANIFEST.in指定
LICENSE.txt的話就看個人想不想放了
上面那些檔案去github找人家寫好的來改就行了
MANIFEST.in
上面設定在打包的時候順便打包.md檔
setup.py
寫法有很多種,網路上找個順眼的改就行了,這邊以我的g2p專案為例
name跟version是pypi上參考的依據,當要升級或是更新的時候該version的設定就好了
比較種要的是packages,如果有很多package在專案裡面的時候,用find_packages會是一個比較簡單的選擇
entry_points並非必要只是我希望我安裝之後可以變成執行檔執行
其他設定網路上可以找到很多範例了
打包測試
之後會在mypackage/dist下看到打包檔,檢查一下內容有沒有缺大致上就行了
4.上傳到pypi
首先先丟到測試那邊
想辦法讓自己的測試不要出錯,回傳下面訊息就可以繼續了
題外話,其實不要寫測試也不會有什麼問題就是
再來上傳到pypi
測試
找臺電腦安裝測試
通常安裝上不會有什麼問題,但是在import還是做成可執行的時候就不一定了.
如果使用上有問題通常都是setup.py要調整,這邊就看個人專案去調整了.