我使用的是pymatgen,它有一个类BaderAnalysis (https://github.com/materialsproject/pymatgen/blob/v2020.4.29/pymatgen/command_line/bader_caller.py)。这个类需要一个名为bader的可执行文件(来自另一个源的二进制文件),因此它使用哪个()检查文件是否在那里。我确实有这个文件,我可以手动运行bader程序,但我总是得到文件不在那里的错误。如果我手动尝试哪个()命令,结果发现它只找到带有前缀的命令。/
print(which('bader'))
print(which('./bader'))输出:无
./bader
我如何才能让哪个命令在没有前缀的情况下找到它呢?(因为pymatgen类在初始化该类时直接运行if not which("bader") or which("bader.exe"): 'error message...'。
发布于 2020-05-09 07:56:36
您需要将当前目录添加到PATH环境变量中。你可以在你的程序调用中这样做。例如,
PATH=$PATH:$PWD python my_script.pyhttps://stackoverflow.com/questions/61689931
复制相似问题