释放正在处理示例的Python API,并在其他代码上出现导入错误

时间:2019-05-29 13:47:18

标签: python-3.x freeling

我正在尝试Freeling的python API。安装和测试还可以,它们提供了一个工作正常的sample.py文件(我已经玩了一点并且它可以工作)。

所以我试图在其他文件夹中的其他python代码上使用它(我有点猜测这是路径问题),但是每当我导入freeing时(就像sample.py上显示的那样) ):

import freeling

FREELINGDIR = "/usr/local";
DATA = FREELINGDIR+"/share/freeling/";
LANG="es";
freeling.util_init_locale("default");

我收到此错误:

ModuleNotFoundError: No module named 'freeling'.

sample.py位于〜/ Freeling-4.0 / APIs / Python /文件夹中,而我的其他文件位于〜/ project /中,我不知道这是否可能是一个问题。 谢谢!

2 个答案:

答案 0 :(得分:0)

您需要设置PYTHONPATH,以便python可以在模块不在同一文件夹中时找到它们。

答案 1 :(得分:0)

一个简单的解决方案是将freeling.py的副本与您的代码放在同一目录中,因为python会出现在该目录中。

一个更好的解决方案是将其粘贴到通常检查的位置之一(例如其安装目录中的lib文件夹),或者告诉它应该在其中扫描文件的路径一个模块。

您可以签出this question来了解如何在Windows上完成此操作。基本上,您只是在设置PYTHONPATH环境变量,而对于其他操作系统,这样做的方式只会有很小的差异。 This page提供了适用于Linux系统的说明。

我喜欢this answer,因为它在运行时在脚本本身中添加了路径,不会进行持久更改,并且在很大程度上独立于底层操作系统(除了需要使用适当的模块这一事实之外)路径)。