Python - “没有模块命名”错误

时间:2015-09-07 19:36:20

标签: python module named

我正在使用一个名为TheCannon的科学软件包。 它全部用Python编写,我用pip安装它。

直到两天前,它完美无缺。 今天,当我尝试使用它时,发生了这种情况:

Traceback (most recent call last):
  File "test2.py", line 4, in <module>
    from TheCannon import dataset
ImportError: No module named TheCannon

我已经卸载并再次安装,没有任何改变。 有谁知道为什么python不再找到包以及如何解决它? 谢谢。

1 个答案:

答案 0 :(得分:0)

要解决此问题,这是路径问题。

在Ubuntu上,这很容易修复。要找出当前Python可执行文件的路径,请执行以下操作:

$ which python
# this will probably give you /usr/bin/python or /usr/local/bin/python by default, in your case, probably something quite different
/usr/bin/python

然后,您需要将正确的Python可执行文件的链接更改为此位置。

# move to symlink to another file
$ sudo mv /usr/bin/python /usr/bin/python_bak
# then relink the default Python on Ubuntu to the original
$ sudo ln -s /usr/bin/python2.7 /usr/bin/python

Ubuntu中系统的默认Python可执行文件位于/usr/bin/python2.7,因此最好将此符号链接到“python”给出的路径。 (另外,#我的意思是评论,而不是超级用户)。

如果您需要撤消此操作,只需通过以下方式撤消移动的符号链接:

$ sudo mv /usr/local/bin/python_bak /usr/local/bin/python

另外......不要将Python3作为Ubuntu上的默认Python链接,就像你不会将Python2作为Arch上的默认安装一样。