2017-02-12 52 views
0

假設我正在Linux上編寫一個Python程序。我想用它的路徑運行一個名爲「foo」的二進制手動安裝命令。通常這是在/usr/bin/foo。但在某些發行版上,它的版本號爲/usr/local/bin/foo。其他一些發行版也可能會改變它。如何在Linux中獲取二進制和庫文件夾的路徑?

所以我的問題是如何得到這樣的$BINARY_FOLDER_PATH$LIBRARY_FOLDER_PATH它會立刻給我無論是「在/ usr/bin中」或「在/ usr/local/bin目錄/」或別的東西(PATH給出了很多的路徑,我正在尋找一個單一的輸出選項,如果它在那裏)?也用於庫文件夾。如何知道它是/usr/lib還是別的?在Python中肯定。

回答

0

一般來說,你不能。如果你想找到一個特定的二進制文件,你最好的辦法就是搜索PATH變量。有一些code on activestate可以做你想做的。

+0

那麼人們如何安裝他們的軟件?例如,我有一個Python二進制文件,我想在安裝時將它放在/ usr/bin中。人們如何做到這一點? (當然我可以使用絕對路徑,但我正在談論相對) – Madno

+0

大多數人使用某種軟件包管理器來安裝他們的軟件。如果你在一個Linux機器上,該軟件包管理器可能會將你的文件放入/ bin或/ usr/bin。如果你在MacOS盒子上,那麼* brew *可能會把它放在一個位置,而* port *會把它放在不同的位置。如果您在網絡上,管理員可能會將其放在共享捲上。 –

+0

是的,但我正在談論一個Python腳本,它有一些數據文件。我有一個glade文件(界面生成器'.ui'文件),我需要參考它並相對包含它。這怎麼可能? – Madno

相關問題