您可以检查以下选项:
模块路径不正确
可能,您想导入一个模块文件,但该模块不在同一个目录中。
例如:
项目结构
core.py
folder_1
---module.py
我们要导入 module.py
核心.py
import module.py #incorrect
输出:
ModuleNotFoundError: No module named 'module'
核心.py
import folder_1.module.py #correct
输出:
...Program finished with exit code 0
未安装的库
如果要在导入库的模块之前导入未安装在虚拟环境中的库的模块,则需要使用 pip 命令安装它。你可以看到这个文档:
例如导入未安装的 Beautifulsoup4 库
>>> from bs4 import BeautifulSoup
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'bs4'
现在,让我们安装库并尝试重新导入它
安装:
pip install beautifulsoup4
Collecting beautifulsoup4
Using cached https://files.pythonhosted.org/packages/d1/41/e6495bd7d3781cee623ce23ea6ac73282a373088fcd0ddc809a047b18eae/beautifulsoup4-4.9.3-py3-none-any.whl
Requirement already satisfied: soupsieve>1.2; python_version >= "3.0" in /home/py/Desktop/seo_pro/seo_env/lib/python3.6/site-packages (from beautifulsoup4) (1.9.5)
Installing collected packages: beautifulsoup4
Successfully installed beautifulsoup4-4.9.3
重新导入:
>>> from bs4 import BeautifulSoup
>>>
将文件设置为包和模块
您需要将文件正确设置为包和模块。
包是一种通过使用“带点的模块名称”来构建 Python 模块名称空间的方式。例如,模块名称 AB 指定了一个名为 A 的包中的一个名为 B 的子模块。就像使用模块使不同模块的作者不必担心彼此的全局变量名称一样,使用点分模块名称可以节省作者多模块包,如 NumPy 或 Pillow,不必担心彼此的模块名称。
sound/ Top-level package
__init__.py Initialize the sound package
formats/ Subpackage for file format conversions
__init__.py
wavread.py
wavwrite.py
aiffread.py
aiffwrite.py
auread.py
auwrite.py
...
effects/ Subpackage for sound effects
__init__.py
echo.py
surround.py
reverse.py
...
filters/ Subpackage for filters
__init__.py
equalizer.py
vocoder.py
karaoke.py
你可以看到更多的信息。