2011-06-06 51 views
3

我在PyPi上測試了我的軟件包。爲什麼不在pyPI上使用setup.py元數據?

來自setup.py的元信息(例如主頁,類別等)出現在project's PyPi page上。

後來我更新了項目。我在setup.py中改變的唯一的東西就是版本號。

更新一如既往,永遠不要相信說這些的人。我從setuptools改爲distutils! Cargo Cult編程 - 我剛剛複製了另一個項目所做的工作。抱歉。

但是project's PyPi page中的下一個版本沒有元信息。

我在努力解決我是如何破壞它的;我發現PyPi相當重要,所以我確信它就是我。 這一次,我在一個相當新鮮的Windows上安裝了Python 2.7.1(之前我曾經使用Python 2.6.x)

我幾乎可以肯定地使用不同的命令行來上傳它。 (這一次,它似乎需要安裝簽名和pgp,我不記得上次需要)。

我應該在哪裏查看setup.py文件中的元信息不再上傳的原因?

回答

3

運行在你的setup.py下面的命令應該可以解決問題:

$ python setup.py register 

理想情況下,你想同時運行上傳的寄存器命令。發佈任何軟件包(sdist,註冊,上傳)時,我通常至少使用三條命令。以下將對PyPI進行典型發佈:

$ python setup.py sdist register upload 

本文的其餘部分簡要介紹了這些命令的作用。

sdist命令是構建源代碼發佈的少數build命令之一。您已經上傳了.zip文件,您可能已經熟悉它了。類似的命令是bdist,它建立二進制分佈。

分發(或包)元數據與構建的分發分開發送。 setuptools'上傳命令將上傳您的項目構建(例如myproject-0.0.zip)。應使用寄存器命令來更新元數據信息。註冊命令將PKGINFO(或egg_info)以其理解的格式發送給PyPI。

+0

延遲接受,對不起!這被作爲低優先級而下降。立即註冊解決問題。謝謝。 – Oddthinking 2012-01-10 11:54:23

1

這很難回答。你能給我們你使用的命令行嗎?你的setup.py使用distutils還是setuptools?你在兩次之間更改了pydistutils.cfg或.pypirc文件嗎?

+0

我終於回到了這個細節。你確實發現了這個問題 - 我已經從setuptools轉移到distutils了!很明顯,我做了一些剪切粘貼的編程!然而,註冊命令解決了它 - 是工具之間的區別?不知道。準備好讓這個去吧。 – Oddthinking 2012-01-10 11:53:29

+0

奇怪,因爲setuptools不會執行任何特定的元數據操作,也不會更改註冊命令的行爲。無論如何,你的問題現在已經解決了,如果你稍後再遇到它並確認那時我們會調查一個錯誤。歡呼聲 – 2012-01-14 02:58:00

+0

謝謝。我非常樂意接受這個問題作爲PEBKAC問題。 – Oddthinking 2012-01-14 06:15:14

相關問題