2011-02-17 63 views
4

通常在大多數unix系統中,$PREFIX/bin$PREFIX/sbin之間存在區別。當安裝一個軟件時,管理員決定什麼是$PREFIX,但作者決定哪些程序適合普通用戶,哪些不適合。使用Python的distutils可以定義一組scripts,並將它們安裝到$PREFIX/bin。那麼如何將腳本安裝到相應的sbin目錄?如何使用python的distutils將腳本安裝到sbin?

請注意,在這種情況下,僅針對Linux的解決方案受到歡迎,因爲其他軟件問題依賴於iptables。

+1

使用`distutils`非常令人沮喪,我決定使用Makefile。 – 2011-02-21 15:37:29

回答

4

您可以指定data_files參數中應安裝哪些文件。它應該把「/ sbin目錄」目錄規範:

setup(..., 
     data_files=[('/sbin', ['rootfill']), 
        ('/etc/init.d', ['init-script'])] 
    ) 
+3

使用data_files而不是腳本的問題是,shebang不會更改爲使用用於運行setup.py的Python的路徑。這可以被視爲好或壞。 – 2011-10-10 16:12:22

1

對於distutils的,我們正在努力支持安裝腳本到前綴/ sbin目錄。

+0

有沒有進展?如果是,請更新您的答案。 – 2013-09-10 10:53:03

相關問題