我正在編寫一個新的Python包供別人使用。爲了演示如何使用它,我正在編寫一個演示腳本來執行新軟件包的主要部分。我應該在哪裏放置一個Python包的演示腳本?
這樣做的慣例是什麼,以便其他人能夠輕鬆找到腳本?它應該是一個單獨的模塊(按什麼名稱)?它應該位於程序包的根目錄中嗎?包裝外面?在__init__.py
?
我正在編寫一個新的Python包供別人使用。爲了演示如何使用它,我正在編寫一個演示腳本來執行新軟件包的主要部分。我應該在哪裏放置一個Python包的演示腳本?
這樣做的慣例是什麼,以便其他人能夠輕鬆找到腳本?它應該是一個單獨的模塊(按什麼名稱)?它應該位於程序包的根目錄中嗎?包裝外面?在__init__.py
?
我從來沒有見過這樣的真實約定,但我個人把它放在__init__.py
之內的一個主要哨兵,以便它可以通過python -m somepackage
調用。
它應該是一個獨立的模塊(由什麼名字)?
演示/ some_useful_name.py
的演示目錄包含演示腳本。同樣,一個測試目錄包含你所有的單元測試。
如果它位於包的根目錄?
號這不是軟件包的一部分。這是一個演示。
出來的包?
是的。
In init .py?
從不。
一個包有兩條生命。 (1)作爲卸載源,(2)在lib/site-packages中安裝代碼。
「源代碼」應該包括README,setup.py,演示目錄,測試目錄和軟件包本身。
頂級「source」setup.py應該只安裝包。演示和測試不會被安裝。作爲下載的一部分,他們被拋在後面。
+1:我可能只在某個開關存在的時候執行它,比如'python -m somemodule --demo'。這在添加其他執行模式時會一致,如運行所有測試。 –