which()命令只能用.NET技术找到可执行文件。

问题描述 投票:0回答:1

我使用的是pymatgen,它有一个类BaderAnalysis (https:/github.commaterialsprojectpymatgenblobv2020.4.29pymatgencommand_linebader_caller.py)。这个类需要一个名为bader的可执行文件(来自另一个源的二进制文件),所以它使用which()检查文件是否存在。如果我手动尝试使用which()命令,结果发现它只能找到带有前缀的文件。

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

输出:无

.bader

我怎样才能让which命令在没有前缀的情况下找到它? (因为pymatgen类实际上是在运行 if not which("bader") or which("bader.exe"): 'error message...' 当初始化该类时。

python linux which pymatgen
1个回答
1
投票

你需要将你当前的目录添加到你的 PATH 环境变量。 你可以在你的程序调用中进行。 例如:。

PATH=$PATH:$PWD python my_script.py
© www.soinside.com 2019 - 2024. All rights reserved.