Python 终端调用未加载适当的库
Python terminal call doesn't load appropriate libraries
我正在 运行正在使用 Fedora 20 上的 OpenMPI 库的程序。
当我 运行 来自终端的命令时:
../bin/boxfit ../settings/boxfitsettings.txt | tee boxoutput.log
成功。
当我运行它通过Python控制台我return一个错误:
os.system('../bin/boxfit ../settings/boxfitsettings2.txt | tee boxoutput.log')
../bin/boxfit: error while loading shared libraries: libmpi_cxx.so.1: cannot open shared object file: No such file or directory
与
相同的错误结果
subprocess.call(args,shell=True)
我将路径设置为相同,因此它应该可以访问相同的库。是否有我需要注意的内部 Python 功能来解决此错误?或者它可能是一个程序编译错误,表明程序库无法与 Python 通信?
看起来它会在 Python 自己的目录中检查此文件,而不是从您当前的目录中检查。
你可以做的就是举个例子
path = os.path.abspath("..")
os.system('%s/bin/boxfit %s/settings/boxfitsettings2.txt | tee boxoutput.log' % (path, path))
要获取您所在位置的路径,然后将其格式化为您的命令
我正在 运行正在使用 Fedora 20 上的 OpenMPI 库的程序。
当我 运行 来自终端的命令时:
../bin/boxfit ../settings/boxfitsettings.txt | tee boxoutput.log
成功。
当我运行它通过Python控制台我return一个错误:
os.system('../bin/boxfit ../settings/boxfitsettings2.txt | tee boxoutput.log')
../bin/boxfit: error while loading shared libraries: libmpi_cxx.so.1: cannot open shared object file: No such file or directory
与
相同的错误结果subprocess.call(args,shell=True)
我将路径设置为相同,因此它应该可以访问相同的库。是否有我需要注意的内部 Python 功能来解决此错误?或者它可能是一个程序编译错误,表明程序库无法与 Python 通信?
看起来它会在 Python 自己的目录中检查此文件,而不是从您当前的目录中检查。
你可以做的就是举个例子
path = os.path.abspath("..")
os.system('%s/bin/boxfit %s/settings/boxfitsettings2.txt | tee boxoutput.log' % (path, path))
要获取您所在位置的路径,然后将其格式化为您的命令