导入错误:无法导入名称

3
我有一个名为google-translate-python的库。https://github.com/terryyin/google-translate-python 基本上,我将translate.py文件复制/粘贴到我的python27/lib目录中。我像这样导入它:
from translate import Translator

然后我放进了类似这样的东西:

theTranslate = Translator(to_lang="sp")
translation = theTranslate.translate("hello")

顺便说一下,我正在使用PyCharm,所以我没有遇到任何错误,它显示方法都在那里。

然而,我收到了以下错误:ImportError: cannot import name Translator

我是不是导入库的方式有误?这是我能想到的唯一原因。因为方法都在那里并且可以运行。


2
从您提供的Github页面中:安装: pip install translate - SiHa
是的,我完全无法让pip工作,我只是复制并粘贴了它,这不够吗? - king
4个回答

8

我找到了问题所在... 我试图导入的库与我的实际Python文件同名。所以我的Python文件被称为translate.py,而我试图导入的库被称为translate。我不知道如何区分它们.. 但更改我的Python文件名称解决了这个问题。哇.. 花了我大约3个小时才意识到这一点。


1
我在使用PyDictionary时犯了同样的错误。Python文件的名称必须与库的名称不同! - DyingIsFun

0

在Pycharm解释器安装的包列表中,它是否显示在其中?您需要将该软件包添加到此列表中,然后才能导入使用。它作为这些软件包之一而可用。


我把它复制粘贴到Python库目录中,它被接受了,没有显示红线或其他任何东西。即使我访问它,它也能找到类并显示其方法,这为什么会出现错误毫无意义。 - king
尝试通过项目解释器进行软件包安装,我认为这与该类中可用方法的可见性有关。 - webapp
转到设置>项目解释器>在那里您将看到安装的库...点击+按钮,它将带您进入可用库列表,只需键入Translate...这将显示包及其描述。顺便说一下...如果使用MAC,则设置位于首选项下。 - webapp
我的库和我的 Python 程序叫了同样的名字,哈哈。 - king
1
很高兴你解决了它...这种事情经常发生 :) - webapp

0
根据 Github 页面,可以使用以下命令从源代码安装该软件包: python setup.py install
另一种选择是将 translate.py 文件保存到本地目录或其他目录中。
如果 translate.py 不在本地目录中,您可以使用以下命令添加模块路径:

sys.path.append('PATH_TO_TRANSLATE.PY')


0
如果您无法使用pip,最简单的安装方法是下载源代码(.zip文件)并解压缩。
打开终端(在其中可以访问Python),并切换到您已解压缩的文件夹(cd <the path to the folder>),然后运行:
python setup.py install 

这将确保文件最终位于正确的位置(在Windows上实际上是在C:\Python27\Lib\site-packages中)。


1
@simon 你在运行脚本的文件夹中有一个名为“translate.py”的文件吗?也就是说,你创建的文件之一是这个名字吗? - mfitzp
你可以执行 import translate; print translate.__file__ 来查看正在被导入的文件。 - mfitzp
是的,那就是问题所在...我早在你说之前就已经解决了...与库相同的文件名。 - king
1
@simon 不用担心,这种情况我们都会遇到的 ;) - mfitzp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接