导入错误,没有找到模块名为xxxx。

6 浏览
0 Comments

导入错误,没有找到模块名为xxxx。

我有一个项目,结构如下:\n

/example
../prediction
....__init__.py
....a.py

\nPYTHONPATH指向/example\n现在我在终端中打开python并输入\n

import prediction

\n它成功了,但是如果我输入\n

import prediction.a

\n它会返回错误\n

ImportError: No module named 'prediction.a'; 'prediction'不是一个包

\n为什么会这样?它不是已经作为一个包导入了吗?

0
0 Comments

在Python中出现"ImportError: No module named xxxx"错误通常是由于当前目录中存在与所引入模块或包相同名称的文件或包而导致的。

具体而言,可能存在一个名为"foo.py"的模块文件或"foo/__init__.py"的包文件与当前目录中的文件名冲突。这种情况下,当尝试导入"prediction"包时,实际上导入的是当前目录中的"prediction.py"文件。

解决该问题的方法是将当前目录中的文件与所引入的模块或包的名称区分开来,以消除命名冲突。

以下是一些解决方法的示例代码:

1. 重命名文件或包:

将当前目录中的"foo.py"重命名为其他名称,例如"foo_utils.py"。
将当前目录中的"foo/__init__.py"重命名为其他名称,例如"foo_init.py"。

2. 修改导入语句:

将导入语句中的模块或包名称修改为正确的名称,以确保导入的是所需的模块或包。
例如,将"import foo"修改为"import examples.prediction as foo"。

请注意,Python并不通过绝对路径名来导入文件,但您可以自行修改模块搜索路径,以更改Python搜索文件的顺序或位置。

希望以上解决方法能够帮助您解决"ImportError: No module named xxxx"错误。如果您需要更详细的解答,请在stackoverflow上开启一个新的问题以获取更多帮助。

0