首页 > 解决方案 > Freeling Python API 处理示例,在其他代码上出现导入错误

问题描述

我正在尝试 Freeling 的 Python API。安装和测试没问题,他们提供了一个完美运行的 sample.py 文件(我已经用它玩了一点,它可以工作)。

所以我试图在我拥有的其他一些 python 代码上使用它,在不同的文件夹中(我有点猜测这是一个路径问题),但是每当我导入 freeling 时(就像它在 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/ 中,我不知道这是否是个问题。谢谢!

标签: python-3.xfreeling

解决方案


freeling.py一个简单的解决方案是在与您的代码相同的目录中拥有一个副本,因为 python 会在那里查找。

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

您可以查看此问题以了解如何在 Windows 上完成。您基本上只是设置 PYTHONPATH 环境变量,其他操作系统的设置方式只会有细微差别。此页面提供了应在 Linux 系统上运行的说明。

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


推荐阅读