如何在 Colab 中永久安装一个库?
- 2025-03-13 09:11:00
- admin 原创
- 97
问题描述:
在 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”文件。
扫码咨询,免费领取项目管理大礼包!