我正在爲我正在編寫的Python包開發一個發行版,所以我可以在PyPI上發佈 。這是我第一次用的distutils工作,setuptools的,分發, 點子,setup.py以及所有和我掙扎了一下有一個學習曲線 這比我預期的相當多的陡峭的:)Python發行版的用例是什麼?
我在通過在setup.py中的data_files
參數中指定他們,將我的測試數據文件的一些測試數據文件設置爲 包含在tarball中,直到我遇到不同的帖子,指向 朝向MANIFEST.in
文件。就在這時,我突然想到你在使用tarball/zip(使用MANIFEST.in)時包含的東西以及當用戶的Python環境easy_install或其他任何(基於setup.py
中指定的 )在 中安裝的東西是什麼兩件完全不同的事情;通常在壓縮包中的 比實際安裝的要多得多。
這立即引發了我的代碼異味,並認識到有 必須是一個以上的分佈用例;我一直在關注 只有一個我真的參加過,使用easy_install或pip來安裝一個 庫。然後我意識到我正在開發工作產品,我只對部分理解我正在開發的最終用戶進行了部分理解。
所以我的問題是這樣的:「什麼是用例的Python發行 比一個人的Python環境中安裝它的其他還有誰,我這種分發服務 又哪裏最關心的?」
這裏有一些我還沒有想出工作的問題尚未對 答案是熊:
它是一個明智的做法,包括一切的源代碼控制 (GIT)下的源代碼分發?在github時代,是否有人下載 源代碼發行版以訪問完整的項目源代碼?或者我應該 只發佈一個鏈接到我的github回購?不會包含所有內容,包括 分發版本,並且需要花費更長時間才能下載僅供 安裝的人員使用?
我打算在readthedocs.org上託管文檔。它是否使我的任何 都能在發佈源 發行版中包含HTML版本的文檔?
是否有人使用
python setup.py test
來運行測試源 分佈?如果是這樣,他們在什麼角色以及他們處於什麼境地? I 不知道我是否應該爲做這項工作而煩惱,如果我這樣做,是誰爲 工作。
感謝這個詹姆斯,真的很有幫助:) – scanny