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

如何在VSCode中生成仅含项目导入库的requirements.txt文件?

生成仅包含项目已导入库的requirements.txt方法

方法一:手动整理(最直接)

根据你提供的导入语句,筛选出非Python标准库的依赖(pickle、warnings属于Python自带标准库,无需加入):

  • numpy
  • pandas
  • matplotlib
  • seaborn
  • scipy
  • scikit-learn(所有sklearn开头的模块都归属这个包)
  • catboost
  • xgboost

直接创建requirements.txt文件,写入以下内容(可按需添加版本号,比如你当前环境的对应版本):

numpy
pandas
matplotlib
seaborn
scipy
scikit-learn
catboost
xgboost

方法二:用pipreqs工具自动扫描

  1. 先安装pipreqs工具:
pip install pipreqs
  1. 进入你的Jupyter Notebook所在的文件夹,执行命令:
pipreqs . --encoding=utf8

该工具会扫描目录下所有代码文件(包括.ipynb格式的笔记本),自动提取实际用到的第三方依赖,生成精准的requirements.txt,不会混入未使用的库。

方法三:用代码提取导入的依赖

如果不想额外安装工具,可以写一段简单代码扫描你的Notebook文件:

import json

# 替换成你的Jupyter Notebook文件名
notebook_path = "你的笔记本文件名.ipynb"

# 读取Notebook内容
with open(notebook_path, "r", encoding="utf-8") as f:
    nb_content = json.load(f)

# 收集所有导入的库名
imported_libs = set()
for cell in nb_content["cells"]:
    if cell["cell_type"] == "code":
        for line in cell["source"]:
            line = line.strip()
            if line.startswith("import ") or line.startswith("from "):
                # 提取根库名
                if line.startswith("import "):
                    lib = line.split()[1].split(".")[0]
                else:
                    lib = line.split()[1].split(".")[0]
                imported_libs.add(lib)

# 排除Python标准库
standard_libs = {"pickle", "warnings"}
required_libs = imported_libs - standard_libs

# 写入requirements.txt
with open("requirements.txt", "w", encoding="utf-8") as f:
    for lib in sorted(required_libs):
        # 处理sklearn对应实际包名scikit-learn
        if lib == "sklearn":
            f.write("scikit-learn\n")
        else:
            f.write(f"{lib}\n")

运行这段代码后,就能得到仅包含你用到的第三方库的requirements.txt。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 17:48:18