如何在 Colab 中永久安装一个库?

2025-03-13 09:11:00
admin
原创
94
摘要:问题描述:在 Google Colaboratory 中,我可以使用 安装新库!pip install package-name。但是当我明天再次打开笔记本时,每次都需要重新安装它。有没有办法永久安装一个库?每次使用时无需花时间安装?解决方案 1:是的。您可以在 Google Drive 中安装该库。然后将路...

问题描述:

在 Google Colaboratory 中,我可以使用 安装新库!pip install package-name。但是当我明天再次打开笔记本时,每次都需要重新安装它。

有没有办法永久安装一个库?每次使用时无需花时间安装?


解决方案 1:

是的。您可以在 Google Drive 中安装该库。然后将路径添加到sys.path

import os, sys
from google.colab import drive
drive.mount('/content/drive')
nb_path = '/content/notebooks'
os.symlink('/content/drive/My Drive/Colab Notebooks', nb_path)
sys.path.insert(0,nb_path)

然后您可以安装一个库,例如,jdc并指定目标。

!pip install --target=$nb_path jdc

稍后,当您再次运行笔记本时,您可以跳过该!pip install行。您可以直接import jdc使用它。这是一个示例笔记本。

https://colab.research.google.com/drive/1KpMDi9CjImudrzXsyTDAuRjtbahzIVjq

jdc顺便说一句,我真的很喜欢%%add_to。它让大班学习变得容易多了。

解决方案 2:

如果您想要一个无需授权的解决方案。您可以使用嵌入在笔记本中的 gcsfuse + 服务帐户密钥进行安装。像这样:

# first install gcsfuse
%%capture
!echo "deb http://packages.cloud.google.com/apt gcsfuse-bionic main" > /etc/apt/sources.list.d/gcsfuse.list
!curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
!apt update
!apt install gcsfuse

然后从 Google Cloud 控制台获取您的服务帐户凭证并将其嵌入到笔记本中

%%writefile /key.json
{
  "type": "service_account",
  "project_id": "kora-id",
  "private_key_id": "xxxxxxx",
  "private_key": "-----BEGIN PRIVATE KEY-----
xxxxxxx==
-----END PRIVATE KEY-----
",
  "client_email": "colab-7@kora-id.iam.gserviceaccount.com",
  "client_id": "100380920993833371482",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/colab-7%40kora-id.iam.gserviceaccount.com"
}

然后设置环境来查找此凭证文件

%env GOOGLE_APPLICATION_CREDENTIALS=/key.json

然后,您必须创建(或已经拥有)一个 gcs bucket。并将其挂载到一个虚构的目录中。

!mkdir /content/my-bucket
!gcsfuse my-bucket /content/my-bucket

最后,在那里安装库。就像我上面的回答一样。

import sys
nb_path = '/content/my-bucket'
sys.path.insert(0, nb_path)
# Do this just once
!pip install --target=$nb_path jdc

下次你可以import jdc不用!pip install它了。

解决方案 3:

您可以在 Google Drive 中安装这些库。

安装虚拟环境:

!pip install virtualenv

安装 Google Drive:

from google.colab import drive
drive.mount("/content/drive")

创建一个新的虚拟环境:

!virtualenv /content/drive/MyDrive/vir_env

激活虚拟环境并安装所需的库:

!source /content/drive/MyDrive/vir_env/bin/activate; pip install numpy

将虚拟环境添加到 sys.path:

import sys
sys.path.append("/content/drive/MyDrive/vir_env/lib/python3.10/site-packages")

(将库安装到谷歌驱动器后,您只需运行上述代码并使用这些库,而无需再次安装它们。)

解决方案 4:

如果您需要安装多个库,这里有一个代码片段:

def install_library_to_drive(libraries_list):
  """ Install library on gdrive. Run this only once. """
  drive_path_root = 'path/to/mounted/drive/directory/where/you/will/install/libraries'
  for lib in libraries_list:
    drive_path_lib = drive_path_root + lib
    !pip install -q $lib --target=$drive_path_lib
    sys.path.insert(0, drive_path_lib)

def load_library_from_drive(libraries_list):
""" Technically, it just appends install dir to a sys.path """
  drive_path_root = 'path/to/mounted/drive/directory/where/you/will/install/libraries'
  for lib in libraries_list:
    drive_path_lib = drive_path_root + lib
    sys.path.insert(0, drive_path_lib)

libraries_list = ["torch", "jsonlines", "transformers"] # list your libraries
install_library_to_drive(libraries_list) # Run this just once
load_library_from_drive(libraries_list)

解决方案 5:

我已经使用虚拟环境在 google colab 中永久安装了库。请参考此博客https://netraneupane.medium.com/how-to-install-libraries-permanently-in-google-colab-fb15a585d8a5

解决方案 6:

制作key.json文件步骤:

关键步骤:

  • 访问 Google Cloud Console:转到 Google Cloud Platform 控制台。

  • 导航到服务帐户:在“IAM 和管理”下,选择“服务帐户”。

  • 选择您的服务帐户:选择您想要访问密钥的服务帐户。

  • 创建新密钥:单击“密钥”>“添加密钥”>“创建新密钥”。

  • 选择 JSON 格式:选择“JSON”作为密钥类型。

  • 下载文件:点击“创建”下载“my-key.json”文件。

  • 上传至 Colab:

  • 打开您的 Colab 笔记本:访问您的 Google Colab 笔记本。

  • 使用文件上传功能:在左侧边栏中,单击文件夹图标以访问文件资源管理器并选择“上传”。

  • 选择“my-key.json”:从您的计算机中选择下载的“my-key.json”文件。

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   3998  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   2749  
  本文介绍了以下10款项目管理软件工具:禅道项目管理软件、Freshdesk、ClickUp、nTask、Hubstaff、Plutio、Productive、Targa、Bonsai、Wrike。在当今快速变化的商业环境中,项目管理已成为企业成功的关键因素之一。然而,许多企业在项目管理过程中面临着诸多痛点,如任务分配不...
项目管理系统   85  
  本文介绍了以下10款项目管理软件工具:禅道项目管理软件、Monday、TeamGantt、Filestage、Chanty、Visor、Smartsheet、Productive、Quire、Planview。在当今快速变化的商业环境中,项目管理已成为企业成功的关键因素之一。然而,许多项目经理和团队在管理复杂项目时,常...
开源项目管理工具   96  
  本文介绍了以下10款项目管理软件工具:禅道项目管理软件、Smartsheet、GanttPRO、Backlog、Visor、ResourceGuru、Productive、Xebrio、Hive、Quire。在当今快节奏的商业环境中,项目管理已成为企业成功的关键因素之一。然而,许多企业在选择项目管理工具时常常面临困惑:...
项目管理系统   83  
热门文章
项目管理软件有哪些?
曾咪二维码

扫码咨询,免费领取项目管理大礼包!

云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用