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

Ubuntu升级后损坏的Python虚拟环境,如何获取已安装包列表

从损坏虚拟环境的site-packages提取已安装包列表

当虚拟环境因系统升级损坏、pip不可用,但site-packages目录完好时,可以通过以下方法提取已安装包信息:

方法1:自动提取包名(快速生成基础依赖列表)

进入site-packages目录,用Python脚本扫描.dist-info和.egg-info目录来获取包名:

cd venv/lib/python3.8/site-packages/
python3.8 -c "
import os
import re
pkgs = set()
for item in os.listdir('./'):
    m = re.match(r'^([a-zA-Z0-9_\-]+)(?:-\d+\.\d+.*)?\.(dist-info|egg-info)$', item)
    if m:
        pkgs.add(m.group(1))
print('\n'.join(sorted(pkgs)))
" > requirements.txt

运行后会生成requirements.txt,包含所有已安装包的名称(无版本号,pip会默认安装最新版)。

方法2:提取带版本号的依赖(精准还原原环境)

如果需要和原环境一致的版本,用命令直接提取带版本的包名:

ls -1 venv/lib/python3.8/site-packages/*.dist-info | sed 's/\.dist-info//' | sort | uniq > requirements.txt

输出格式类似Django-4.2.5,可以手动把-替换为==,改成Django==4.2.5的格式,确保安装指定版本。

也可以单独查看某个包的版本信息:

cat venv/lib/python3.8/site-packages/Django-*.dist-info/METADATA | grep -E '^Version:'

重建虚拟环境步骤

  1. 删除损坏的虚拟环境:
rm -rf venv
  1. 重新创建Python3.8虚拟环境:
python3.8 -m venv venv
  1. 激活虚拟环境:
source venv/bin/activate
  1. 安装依赖包:
pip install -r requirements.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 21:45:13