如何在Google colab中创建requirements.txt?

问题描述 投票:0回答:3

我已经测试了以下内容:

!pip freeze >requirements.txt --> 保存环境中的所有包

pipreqs --> 返回一个空文件

我需要所有导入的包以及相应版本的编译。如何在 Google Colab 中执行此操作而不获取所有已安装的软件包?

python package google-colaboratory python-import requirements
3个回答
6
投票

是的,我在使用时也遇到过类似的问题

!pip freeze > requirements.txt

您将获得最初在 colab 中安装的所有软件包。

你可以尝试一开始就安装session_info:

!pip install session-info

然后导入您需要的所有内容并运行此命令以查看导入的内容:

import session_info
session_info.show()

更新:

这个命令可能会让你大致了解一下,但它看起来并不是很完整。我很快又回到了老方法,在本地 python 项目中添加了依赖项并使用了以下 2 个之一:

pip freeze > requirements.txt
pip list --format=freeze > requirements.txt

0
投票

其他方法都不适合我,但我想出了一个可靠的替代方案,即纯 python(无导入)。

要从 Colab 获取干净的requirements.txt 文件:

  1. 在安装之前,保存 Colab 默认值的基线 requirements.txt 文件:

    pip freeze > /content/requirements_v0.txt
    
  2. 安装 pip 后,保存完整环境的 requirements.txt 文件:

    pip freeze > /content/requirements_v1.txt
    
    
  3. 最后,通过比较两个版本

    仅提取您的包: requirements_before_installs = '/content/requirements_v0.txt' requirements_after_installs = '/content/requirements_v1.txt' ''' # filter out packages from junk ''' with open(requirements_before_installs, 'r') as f: junk = f.readlines() with open(requirements_after_installs, 'r') as f: packages_plus_junk = f.readlines() packages = [package for package in packages_plus_junk if package not in junk] ''' # save clean file ''' with open('/content/requirements_final.txt', 'w') as f: f.writelines(packages)

    
        

-1
投票

import sys print(sys.modules.keys())

	
© www.soinside.com 2019 - 2024. All rights reserved.