OSX使用swiprolog pyswip包for python

2024-06-09 07:43:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我想为我的研究执行第三方prolog程序。同时,由于程序声明的原因,我发现它需要pyswip包来执行

from pyswip import Prolog

因此,按照安装文件中的说明在pyswip安装的根文件夹中安装此包后,仍然找不到该包,输出错误如下:

^{pr2}$

所以经过一番调查,我发现python包的使用是从核心.py文件,在我的案例中位于

/Library/Python/2.7/site-packages/pyswip

因此,分析这个文件,我可以找到输出的错误文本,并得出结论,路径没有找到符合具体行

elif platform == "dar":  # Help with MacOS is welcome!!

所以我也注意到了这条评论对MacOS的帮助。在尝试正确找到路径的方法中

(path, swiHome) = _findSwiplDar()

我注意到两个数组:一个包含两个包名称的候选名称,另一个包含路径的候选名称。所以我找到了第一个包裹的名字“libswipl.dylib“在我的OSX上搜索。完成后,我已经将特定的包路径添加到路径数组中,现在一切都正常了。在

我知道这不是最好的解决办法,但我已经发现了事情是如何运作的,并解决了这个问题。如果有人知道在不更新核心.py文件,我很高兴知道;-)

我希望这对某人有帮助!在


Tags: 文件frompyimport路径程序名称声明