conda更新环境报错:无法解除不可管理包torchvision、torchaudio
问题场景与报错详情
在Windows 11系统下使用conda 24.5.0执行conda install django-environ时,终端抛出RuntimeError,提示无法解除pypi源的torchvision-0.18.1与torchaudio-2.3.1包,当前仅能通过删除conda环境并重装所有包完成新包安装。
终端执行命令及报错信息
conda install django-environ Channels: - conda-forge - defaults - nvidia - pytorch Platform: win-64 Collecting package metadata (repodata.json): done Solving environment: | WARNING conda.conda_libmamba_solver.solver:_export_solved_records(832): Tried to unlink torchaud? WARNING conda.conda_libmamba_solver.solver:_export_solved_records(832): Tried to unlink torchvision-0.18.1-py3.11.egg-i? done # >>>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<< Traceback (most recent call last): File "C:\ProgramData\miniconda3\lib\site-packages\conda\exception_handler.py", line 18, in __call__ return func(*args, **kwargs) File "C:\ProgramData\miniconda3\lib\site-packages\conda\cli\main.py", line 84, in main_subshell exit_code = do_call(args, parser) File "C:\ProgramData\miniconda3\lib\site-packages\conda\cli\conda_argparse.py", line 200, in do_call result = getattr(module, func_name)(args, parser) File "C:\ProgramData\miniconda3\lib\site-packages\conda\notices\core.py", line 132, in wrapper return func(*args, **kwargs) File "C:\ProgramData\miniconda3\lib\site-packages\conda\cli\main_install.py", line 152, in execute return install(args, parser, "install") File "C:\ProgramData\miniconda3\lib\site-packages\conda\cli\install.py", line 377, in install unlink_link_transaction = solver.solve_for_transaction( File "C:\ProgramData\miniconda3\lib\site-packages\conda\core\solve.py", line 153, in solve_for_transaction unlink_precs, link_precs = self.solve_for_diff( File "C:\ProgramData\miniconda3\lib\site-packages\conda\core\solve.py", line 239, in solve_for_diff raise RuntimeError( RuntimeError: Cannot unlink unmanageable packages: - pypi/pypi::torchvision-0.18.1-pypi_0 - pypi/pypi::torchaudio-2.3.1-pypi_0
environment.yaml配置
channels: - conda-forge - pytorch - nvidia - nodefaults dependencies: - python=3.11.* - pip - pytest - pytorch::pytorch - pytorch::torchvision - pytorch::torchaudio - pytorch-cuda=12.1 - ultralytics - numpy - opencv - matplotlib - pandas - joblib - kornia>=0.6.11 - google-cloud-vision - django-environ
相关版本信息
- OS: Windows 11
- Python: 3.11.9
- pip: 24.0
- conda: 24.5.0
原因分析
报错核心是conda无法管理通过pip安装的包:当前环境中torchvision和torchaudio实际是从pypi源安装的(标记为pypi/pypi::),但environment.yaml中指定的是从pytorch频道安装。当conda解决依赖需要调整这两个包时,因为它们不属于conda管理范畴,无法执行卸载/更新操作,从而抛出RuntimeError。
解决方案
方案1:替换pip安装的包为conda管理版本
先卸载pip安装的torchvision和torchaudio,再用conda安装指定频道的版本:
pip uninstall torchvision torchaudio -y conda install pytorch::torchvision pytorch::torchaudio -y
完成后再执行:
conda install django-environ
方案2:开启conda与pip的互操作模式
通过配置让conda尝试管理pip安装的包(注意:该模式可能存在依赖冲突风险,需谨慎使用):
conda config --set pip_interop_enabled True
配置完成后重新执行conda install django-environ。
方案3:重建conda环境(备用方案)
如果以上方法无效,可采用重装方案,直接通过yaml文件重建更高效:
- 删除现有环境:
conda env remove -n <你的环境名> - 用yaml文件创建新环境:
conda env create -f environment.yaml
内容的提问来源于stack exchange,提问作者teejk
相关产品推荐
相关产品推荐

