【发布时间】:2019-03-05 12:33:34
【问题描述】:
我正在尝试从 Pycharm 中的 python 脚本运行名为“Cyclotron”的 Geant4(粒子模拟引擎)可执行文件。当我从命令行执行文件时,该文件运行得非常好,即./Cyclotron。
当我尝试使用 subprocess.check_call() 方法执行相同的 bash 命令时,我收到以下错误消息:
./Cyclotron: error while loading shared libraries: libG4zlib.so:
cannot open shared object file: No such file or directory
Traceback (most recent call last):
File "/home/nicolas/Geant4/geant4.10.04.p01/main_stuff/cyclotron-
geant4/main.py", line 17, in <module>
subprocess.check_call(command.split())
File "/usr/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['./Cyclotron']' returned non-
zero exit status 127.`
这似乎是由于 LD_LIBRARY_PATH 变量在 Pycharm 内部无法识别。例如,运行
import os
print(os.environ.get("LD_LIBRARY_PATH"))
返回None。我看到有人建议在 Run->Edit Configurations 下添加变量(我已经在默认值下尝试了我的脚本和 Python),但仍然没有运气。
在命令行上,键入
echo $LD_LIBRARY_PATH 返回/home/nicolas/Root/build/lib:/usr/lib/x86_64-linux-gnu:/home/nicolas/Geant4/install/lib。
这是我的python代码:
import subprocess
import os
os.chdir("build")
bash_commands = [
"cmake ..",
"make -j4",
"./Cyclotron"
]
for command in bash_commands:
subprocess.check_call(command.split())
和输出:
/home/nicolas/PycharmProjects/Main/venv/bin/python
/home/nicolas/Geant4/geant4.10.04.p01/main_stuff/cyclotron-geant4/main.py
-- Configuring done
-- Generating done
-- Build files have been written to:
/home/nicolas/Geant4/geant4.10.04.p01/main_stuff/cyclotron-geant4/build
[100%] Built target Cyclotron
$LD_LIBRARY_PATH
./Cyclotron: error while loading shared libraries: libG4zlib.so: cannot
open shared object file: No such file or directory
Traceback (most recent call last):
File "/home/nicolas/Geant4/geant4.10.04.p01/main_stuff/cyclotron-
geant4/main.py", line 14, in <module>
subprocess.check_call(command.split())
File "/usr/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['./Cyclotron']' returned non-zero
exit status 127.
Process finished with exit code 1
我正在使用带有 Python 3.6 解释器的 Ubuntu 18.04、Pycharm 2018。
【问题讨论】:
标签: pycharm environment-variables