You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

从GitHub安装FantraxAPI Python包时遭遇requests模块缺失的ModuleNotFoundError问题求助

从GitHub安装FantraxAPI Python包时遭遇requests模块缺失的ModuleNotFoundError问题求助

看起来你碰到的是源码安装时的依赖顺序坑——正常从PyPI安装包时,依赖会被优先安装,但直接从Git仓库拉源码构建时,安装脚本还没来得及装requests,就触发了包内代码的导入,导致报错。下面给你几个实用的解决办法:

临时快速解决:先手动装依赖

这是最快搞定的方式,先把requests装到环境里,再安装Git版本的包:

pip install requests
pip install git+https://github.com/meisnate12/FantraxAPI.git@master

长期规范方案:修复fork仓库的构建配置(如果你有权限修改)

问题根源是这个仓库的安装脚本在构建过程中提前执行了包内的__init__.py代码,而此时依赖还没安装。你可以给你的fork做以下调整:

  1. 打开仓库根目录的setup.py,确保install_requires列表里明确包含requests,比如:
    setup(
        # 其他配置项...
        install_requires=[
            'requests>=2.25.0',  # 版本号可以根据实际需求调整
        ],
        # 其他配置项...
    )
    
  2. 检查setup.py里有没有直接导入包内模块的代码,如果有,把这部分代码移到if __name__ == '__main__':代码块中,避免在构建阶段触发不必要的导入。
  3. 如果仓库用了pyproject.toml,可以补充构建依赖的配置,让setuptools在处理依赖前不会执行包内代码。

另一种应急方式:关闭构建隔离(谨慎使用)

pip默认会创建一个隔离的临时环境来构建包,你可以用--no-build-isolation参数跳过这个隔离,让构建过程直接用当前环境的依赖:

# 先确保当前环境已经装了requests
pip install requests
pip install --no-build-isolation git+https://github.com/meisnate12/FantraxAPI.git@master

⚠️ 注意:这个参数可能会让构建过程受当前环境其他包的干扰,只建议作为临时救急方案使用。

补充说明:为什么PyPI安装没问题?

PyPI上的包一般是预先构建好的wheel文件,安装时不会触发源码构建的导入逻辑,依赖会被优先安装完成,所以不会出现这个错误。而直接从Git安装是从源码开始构建,就暴露了仓库构建配置的小问题。

火山引擎 最新活动