Python 巨蟒;没有名为“的模块”;错误

Python 巨蟒;没有名为“的模块”;错误,python,module,named,Python,Module,Named,我正在研究一个名为“卡农”的科学软件包。 它都是用Python编写的,我使用pip安装了它 直到两天前,它还工作得很好。 今天,当我尝试使用它时,发生了以下情况: Traceback (most recent call last): File "test2.py", line 4, in <module> from TheCannon import dataset ImportError: No 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
回溯(最近一次呼叫最后一次):
文件“test2.py”,第4行,在
从Cannon导入数据集
ImportError:没有名为Cannon的模块
我已经卸载并重新安装了它,没有任何更改。 有人知道python为什么再也找不到包了,以及如何解决它吗?
谢谢。

要解决它,这是一个路径问题

在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上的默认安装一样。

要解决它,这是一个路径问题

在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上的默认安装一样。

很可能你安装了多个Python版本,并且你的pip使用的版本与你调用它的版本不同。或者(类似的问题)不同的虚拟环境。就解决这个问题而言,这取决于您使用的操作系统,等等。您使用的是什么python和什么操作系统?你做了什么改变?如果您在Windows上,是否检查了路径?你确定大写正确吗?检查路径并确保没有多个python版本。事实并非如此。Cannon文件夹位于Python2.7文件夹中,我尝试使用“$Python2.7test2.py”运行代码。您还可以打开python shell,查看您的路径:
import sys;print(sys.path)
。您可能安装了多个python版本,并且您的pip使用的版本与您从中调用它的版本不同。或者(类似的问题)不同的虚拟环境。就解决这个问题而言,这取决于您使用的操作系统,等等。您使用的是什么python和什么操作系统?你做了什么改变?如果您在Windows上,是否检查了路径?你确定大写正确吗?检查路径并确保没有多个python版本。事实并非如此。Cannon文件夹位于Python2.7文件夹中,我尝试使用“$Python2.7test2.py”运行代码。您还可以打开python shell,查看您的路径:
import sys;打印(系统路径)