2014-10-30 117 views
2

我開發了一個python包,目前它包含了可以在這些模塊中找到的子包,模塊和函數。現在,我有一個腳本,它使用軟件包的某些元素(以及其他軟件包),並且我想用該軟件包運送此腳本。我們的目標是在安裝軟件包後,潛在用戶可以簡單地運行腳本並獲得結果。在Python包中包含一個腳本

什麼是正確的做法?我可以簡單地將腳本包含在包的樹結構中,然後它將包含在發行版中。但是,反過來,該軟件包將被安裝在用戶通常不太容易訪問的目錄中的用戶框中。

回答

2

如果你的軟件包是通過setuptools或類似的東西分發的,你可以使用scripts關鍵字,setuptools將它正確地放在PATH中。請參閱Command Line Scripts

+0

這是值得一提的和鏈接到:http://stackoverflow.com/q/1829524/671013 – Dror 2014-10-30 14:06:03

+0

此外,爲此在Windows下工作,它似乎像框必須重新啓動... errrr。 .. – Dror 2014-10-30 14:07:16

0

DistutilsDistutils支持安裝腳本,但是將它們放置在何處以供用戶訪問的問題是一個更復雜的問題(例如,Windows使用文件擴展名而不是shebang,而AFAIK沒有將它們註冊爲命令的功能) 。與模塊一起安裝的腳本傳統上使用__name__=='__main__'進行測試(如果它們是主程序),並且可以使用(例如)python -m SimpleHTTPServer從那裏運行。