从GitHub安装Python模块后无法import的问题求助
检查setup.py包名与实际目录名的一致性
确认setup.py中setup()函数的name参数为"spellcheck",同时项目根目录下的Python包目录名必须和该名称完全匹配(注意大小写,Linux/macOS环境下大小写敏感)。比如若包目录名为SpellCheck,则导入时需对应写import SpellCheck,或直接将目录名改为小写的spellcheck。验证pip与Python环境的匹配性
多Python版本共存时容易出现环境不匹配问题:比如用pip安装的模块在Python2环境,而运行的是Python3;或用pip3安装但调用python(指向Python2)执行。
解决方式:- 用
which python(Linux/macOS)或where python(Windows)查看当前运行的Python路径,再用pip -V查看pip对应的Python路径,确认两者一致。 - 若不一致,使用对应版本的pip安装:
python3 -m pip install git+https://github.com/loictonneau75/spellcheck.git,运行时用python3执行代码。
- 用
检查setup.py的包内容配置
确保setup.py中包含packages参数,可使用find_packages()自动发现包,或手动指定packages=["spellcheck"]。若缺失该参数,pip仅会安装元数据,实际代码不会被复制到site-packages目录。示例正确配置片段:from setuptools import setup, find_packages setup( name="spellcheck", version="0.1", packages=find_packages(), # 其他配置项... )检查site-packages中的安装文件
通过pip show spellcheck获取Location字段对应的目录,打开后查看是否存在spellcheck文件夹,且文件夹内包含__init__.py及其他模块文件。若不存在,说明安装时代码未被正确复制,需检查setup.py的package_dir配置,或确认是否有规则排除了必要文件。清理缓存后重新安装
缓存异常可能导致安装失败,先卸载模块:pip uninstall -y spellcheck,清理pip缓存:pip cache purge,再重新执行安装命令:pip install git+https://github.com/loictonneau75/spellcheck.git。
内容的提问来源于stack exchange,提问作者loic tonneau

