1

我正在使用 pymatgen,它有一个 BaderAnalysis 类(https://github.com/materialsproject/pymatgen/blob/v2020.4.29/pymatgen/command_line/bader_caller.py)。此类需要一个名为 bader 的可执行文件(来自另一个来源的二进制文件),因此它使用 which() 检查文件是否存在。我确实有文件,我可以手动运行 bader 程序,但我总是收到文件不存在的错误。如果我手动尝试 which() 命令,结果发现它只找到前缀 ./

print(which('bader'))
print(which('./bader'))

输出:无

./坏人

如何以 which 命令在没有前缀的情况下找到它的方式制作它?(因为 pymatgen 类if not which("bader") or which("bader.exe"): 'error message...'在初始化类时会逐字运行。

4

1 回答 1

1

您需要将当前目录添加到PATH环境变量中。您可以在程序调用中执行此操作。例如,

PATH=$PATH:$PWD python my_script.py
于 2020-05-08T23:56:36.170 回答