2017-02-12 78 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

相关问题