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

复制Ubuntu WSL的virtualenv到其他发行版,如何将distutils纳入虚拟环境?

解决虚拟环境内缺失distutils的问题

方法一:从原Ubuntu WSL环境复制distutils目录

  • 在原Ubuntu WSL系统中,找到Python 3.10的distutils目录,默认路径为:/usr/lib/python3.10/distutils
  • 将整个distutils目录复制到目标系统虚拟环境的site-packages路径下,示例命令:
    cp -r /usr/lib/python3.10/distutils /opt/venv/lib/python3.10/site-packages/
    
  • 激活虚拟环境,执行pip3 --version验证问题是否解决。

方法二:在虚拟环境内安装setuptools(含distutils兼容版本)

由于当前虚拟环境的pip因缺失distutils无法运行,可借助系统Python将setuptools安装到虚拟环境中:

  • 在目标系统执行以下命令(替换为你的虚拟环境实际路径):
    /usr/bin/python3.10 -m pip install --target=/opt/venv/lib/python3.10/site-packages setuptools
    
  • 激活虚拟环境,此时pip可通过setuptools自带的distutils副本正常工作,执行pip3 --version确认修复。

补充说明

虚拟环境复制后出现distutils缺失,是因为创建时可能依赖了原系统的distutils组件(部分Linux发行版中distutils属于系统级Python包,未被完整纳入虚拟环境)。将distutils直接放入虚拟环境的site-packages,或通过setuptools提供的兼容版本,即可实现虚拟环境的完全隔离,无需依赖目标系统的python3-distutils包。

内容的提问来源于stack exchange,提问作者andre.hre

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 12:22:49