Python导入自定义模块遇ModuleNotFoundError,该如何解决?
解决Python模块导入错误(ModuleNotFoundError: No module named 'Api')
针对你遇到的问题,核心是Python找不到指定的模块/包,下面分几种常见情况给出解决办法:
情况1:两个文件在同一文件夹下
如果api_information.py和Connect_selenium.py放在同一个目录里,那你当前的导入语句完全写错了。直接改成:
from api_information import OpenProfile
你要导入的OpenProfile函数就在api_information.py里,根本不存在Api.api_automation这个模块。
情况2:你确实有Api文件夹结构
如果实际目录结构是这样的:
你的项目根目录/ ├── Api/ │ ├── __init__.py # 建议添加这个文件(Python3.3+可省略,但能明确标识这是一个Python包) │ └── api_information.py # 里面定义了OpenProfile └── Connect_selenium.py
那需要修正导入语句,把api_automation改成实际的文件名api_information:
from Api.api_information import OpenProfile
同时确保运行Connect_selenium.py时,是从项目根目录启动的(比如直接执行python Connect_selenium.py,不要进入子目录运行)。
情况3:文件不在同一目录,也不是规范包结构
如果api_information.py在另一个独立的文件夹里,可以手动把它所在的目录加入Python的搜索路径。在Connect_selenium.py最开头添加:
import sys # 替换成api_information.py所在文件夹的绝对路径 sys.path.append("/Users/xxx/your_project/api_files_folder") from api_information import OpenProfile
额外注意点
- 检查文件名/文件夹名的大小写:Linux和macOS系统区分大小写,比如
Api和api会被视为不同的文件夹;Windows不区分,但尽量保持一致避免跨平台问题。 - 避免命名冲突:确保
api_information.py的名字不会和Python内置模块、第三方库重名。
内容的提问来源于stack exchange,提问作者XmFocus
相关产品推荐
相关产品推荐

