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

运行CodeGen仓库时遇packaging模块缺失错误,求解决方法

解决CodeGen安装中"ModuleNotFoundError: No module named 'packaging'"问题

问题描述

我在Windows和Ubuntu系统中运行CodeGen仓库的install_env.sh脚本里的以下命令时,均遇到相同错误:

pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

我已经确认packaging库已安装,且尝试过卸载重装,但仍提示ModuleNotFoundError: No module named 'packaging'错误。

错误信息(中文翻译)

使用pip版本23.1.2,路径:/home/meghna/miniconda3/envs/codegen_3_10/lib/python3.10/site-packages/pip (python 3.10)
DEPRECATION: --build-option 和 --global-option 已被弃用。pip 23.3将强制执行此行为变更。可考虑使用--config-settings替代,讨论地址:https://github.com/pypa/pip/issues/11859
警告:因存在--build-option / --global-option,默认启用--no-binary=:all:。
处理路径:/home/meghna/CodeGen/apex
  运行pip子进程以安装构建依赖
  收集setuptools
    使用缓存的setuptools-68.0.0-py3-none-any.whl
  收集wheel
    使用缓存的wheel-0.40.0-py3-none-any.whl
  安装收集到的包:wheel, setuptools
  成功安装setuptools-68.0.0 wheel-0.40.0
  安装构建依赖完成
  运行命令:获取构建wheel所需的依赖
  回溯(最近的调用先显示):
    文件 "/home/meghna/miniconda3/envs/codegen_3_10/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", 第353行, in <module>
      main()
    文件 "/home/meghna/miniconda3/envs/codegen_3_10/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", 第335行, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    文件 "/home/meghna/miniconda3/envs/codegen_3_10/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", 第118行, in get_requires_for_build_wheel
      return hook(config_settings)
    文件 "/tmp/pip-build-env-tznejqwh/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", 第341行, in get_requires_for_build_wheel
      return self._get_build_requires(config_settings, requirements=['wheel'])
    文件 "/tmp/pip-build-env-tznejqwh/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", 第323行, in _get_build_requires
      self.run_setup()
    文件 "/tmp/pip-build-env-tznejqwh/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", 第338行, in run_setup
      exec(code, locals())
    文件 "<string>", 第4行, in <module>
  ModuleNotFoundError: No module named 'packaging'
  error: subprocess-exited-with-error

  × 获取构建wheel所需依赖的命令未成功运行。
  │ 退出码: 1
  ╰─> 查看上方输出了解详情。

  note: 此错误源自子进程,大概率与pip无关。
  完整命令: /home/meghna/miniconda3/envs/codegen_3_10/bin/python /home/meghna/miniconda3/envs/codegen_3_10/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpnoh7u27d
  当前工作目录: /home/meghna/CodeGen/apex
  获取构建wheel所需依赖...错误
error: subprocess-exited-with-error

× 获取构建wheel所需依赖的命令未成功运行。
│ 退出码: 1
╰─> 查看上方输出了解详情。

note: 此错误源自子进程,大概率与pip无关。

解决方案

1. 确保构建环境包含packaging

pip安装本地包时会创建临时构建环境,主环境的packaging不会自动同步过去,可通过以下方式解决:

  • 先强制重装packaging,再执行安装命令:
pip install packaging --force-reinstall
pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
  • 适配新版pip,用--config-settings替代已弃用的--global-option:
pip install -v --disable-pip-version-check --no-cache-dir --config-settings="--cpp_ext" --config-settings="--cuda_ext" ./

2. 检查环境一致性

  • 确认pip和Python路径匹配,执行以下命令验证:
which python
which pip
  • 如果使用conda环境,先激活目标环境再操作:
conda activate codegen_3_10
pip install packaging --force-reinstall
pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

3. 修改Apex的setup.py

错误源自CodeGen子模块Apex的安装,找到CodeGen/apex/setup.py,在开头添加以下代码,强制安装packaging:

import sys
try:
    import packaging
except ImportError:
    import subprocess
    subprocess.check_call([sys.executable, "-m", "pip", "install", "packaging"])
    import packaging

保存后重新运行安装命令即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 03:03:10