You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何pip提示无效参数?部署Discord Bot到Heroku遇pip freeze报错

解决pip freeze及多数pip命令报错OSError: [Errno 22] Invalid Argument(Python3.7 + OneDrive环境)

看起来你的问题核心出在Python环境安装在OneDrive同步目录上——OneDrive的实时同步机制会干扰pip读取环境内的配置文件和模块信息,导致这类路径相关的IO错误,这也是为什么只有pip install/uninstall能勉强运行(它们以写入操作为主,受同步影响相对小)。

给你几个可行的解决思路,按优先级排序:

1. 迁移Python环境到本地非同步目录(最彻底)

OneDrive的文件锁和同步延迟是根源,把环境移到本地文件夹就能彻底解决:

  • 先找到当前Python环境的路径:打开命令行运行 where py -3.7,你会得到类似 C:\Users\opboi\OneDrive\Desktop\Fundamentals\python.exe 的结果
  • 把整个Fundamentals文件夹复制到非OneDrive目录,比如C:\Users\opboi\Desktop\LocalPythonEnv
  • 之后使用这个新环境的Python和pip:
    C:\Users\opboi\Desktop\LocalPythonEnv\Scripts\python.exe -m pip freeze > requirements.txt
    
    这样生成的requirements.txt就能正常用于Heroku部署了。

2. 修复现有pip版本(不用迁移环境的折中方案)

Python3.7已经停止维护,新的pip版本(21+)不再兼容它,可能导致兼容性问题。你可以把pip升级到适配3.7的最后一个稳定版本:

  • 运行命令:
    py -3.7 -m pip install --upgrade pip==20.3.4
    
  • 升级完成后再尝试 py -3.7 -m pip freeze,大概率能恢复正常。

3. 手动生成requirements.txt(应急方案)

如果前两种方法都暂时没法操作,你可以手动写出依赖:

  • 回忆你为Discord Bot安装的包,比如常用的discord.py、python-dotenv等
  • 打开记事本,按格式写入:
    discord.py==1.7.3  # 替换成你实际安装的版本
    python-dotenv==0.19.2
    # 其他你用到的依赖包
    
  • 你也可以打开C:\Users\opboi\OneDrive\Desktop\Fundamentals\Lib\site-packages目录,查看里面的包文件夹名称(通常会带版本号)来确认版本。

内容的提问来源于stack exchange,提问作者Treyara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:57:43