Python出现ModuleNotFoundError求助:第三方及自定义模块无法导入
问题分析与解决方案
一、github模块导入失败的解决办法
- 确认安装的包是否正确
from github import Github是PyGitHub库的用法,你用pip install github安装的是一个同名但无关的包(仅提供GitHub API基础封装,不包含Github类)。正确的安装命令应为:
pip install pygithub
安装后再尝试from github import Github即可。
- 验证pip与Python环境是否匹配
重装Python后可能出现pip和当前使用的Python不属于同一环境的情况:
- 执行
pip --version查看pip对应的Python版本,确认是否为3.10; - 如果不匹配,改用
python -m pip install pygithub安装,确保使用当前Python环境的pip。
二、自定义crs_prisma模块导入失败的解决办法
你的模块结构如下:
crs_prisma/ ├── __init__.py ├── prisma/ │ ├── __init__.py │ └── prisma_class.py └── script.py
根据脚本运行位置分两种情况处理:
- 如果script.py在crs_prisma目录内运行
直接修改导入语句为:
from prisma.prisma_class import *
此时脚本所在目录为crs_prisma,prisma是同级子模块,无需完整路径。
- 如果script.py在crs_prisma目录外运行
需要让Python找到crs_prisma模块:
- 方法一:在脚本开头添加父目录路径(替换为你的crs_prisma所在的父目录实际路径):
之后再用import sys sys.path.append("path/to/crs_prisma_parent_directory")from crs_prisma.prisma.prisma_class import *导入。 - 方法二:将crs_prisma安装为可编辑模块(推荐),在crs_prisma的父目录执行:
之后在任何位置都可直接导入。pip install -e ./crs_prisma - 方法三:把crs_prisma所在的父目录添加到系统环境变量
PYTHONPATH中,重装Python后之前的环境变量可能被清空,需重新配置。
额外建议:重装Python后清理模块缓存,删除所有__pycache__文件夹;如果使用过虚拟环境,确保当前运行脚本的环境正确。
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

