gpt4 book ai didi

python - 我使用 os.system 来运行可执行文件,但它需要一个 .so 文件,它找不到库

转载 作者:太空宇宙 更新时间:2023-11-04 05:51:47 25 4
gpt4 key购买 nike

当我在 Ubuntu 中使用 os.system("./mydemo") 在 python 中调用可执行文件时,它找不到 mydemo 所需的 .so 文件 (libmsc.so)。我用了os.system("export LD_LIBRARY_PATH=pwd:$LD_LIBRARY_PATH;"),还是找不到libmsc.so。

libmsc.so 在当前目录中。并且不应该是全局性的。

最佳答案

当你执行 os.system("export LD_LIBRARY_PATH=pwd:$LD_LIBRARY_PATH;") 时,你运行新的 shell 实例,改变 LD_LIBRARY_PATH 然后立即退出它。此外,pwd 在 Python 上下文中没有任何意义。

尝试像这样设置环境变量:

os.system("LD_LIBRARY_PATH={} ./mydemo".format(os.getcwd())) 

或者使用 subprocess 模块更好?

import subprocess
env = os.environ.copy()
env['LD_LIBRARY_PATH'] = os.getcwd()
proc = subprocess.Popen("./mydemo", shell=True, env=env)
proc.wait()

关于python - 我使用 os.system 来运行可执行文件,但它需要一个 .so 文件,它找不到库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29888716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com