本文介绍了如何在Colab中永久安装库?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Google合作实验室中,我可以使用!pip install package-name安装新的库.但是明天明天再次打开笔记本时,我需要每次重新安装.

In Google Colaboratory, I can install a new library using !pip install package-name. But when I open the notebook again tomorrow, I need to re-install it every time.

是否可以永久安装库?不需要花时间安装每次使用吗?

Is there a way to install a library permanently? No need to spend time installing every time to use?

推荐答案

如果您想要无授权的解决方案.您可以将安装与笔记本中嵌入的gcsfuse +服务帐户密钥一起使用.像这样:

If you want a no-authorization solution. You can use mounting with gcsfuse + service-account key embedded in your notebook. Like this:

# 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云控制台获取您的服务帐户凭据并将其嵌入到笔记本中

Then get your service account credential from google cloud console and embed it in the notebook

%%writefile /key.json
{
  "type": "service_account",
  "project_id": "kora-id",
  "private_key_id": "xxxxxxx",
  "private_key": "-----BEGIN PRIVATE KEY-----\nxxxxxxx==\n-----END PRIVATE KEY-----\n",
  "client_email": "[email protected]",
  "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"
}

然后设置环境以查找此凭据文件

Then set environment to look for this credential file

%env GOOGLE_APPLICATION_CREDENTIALS=/key.json

然后必须创建(或已经拥有)gcs存储桶.并将其安装到伪造的目录中.

You must then create (or have it already) a gcs bucket. And mount it to a made-up directory.

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

然后,最后在该库中安装该库.就像我上面的答案一样.

Then finally, install the library there. Like my above answer.

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

您现在可以在没有!pip install的情况下下次import jdc.

You can now import jdc without !pip install it next time.

这篇关于如何在Colab中永久安装库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-23 04:44