如何在 Colab 中永久安装库?
How do I install a library permanently in Colab?
在 Google Colaboratory 中,我可以使用 !pip install package-name
安装新库。但是明天再打开笔记本的时候,每次都需要重新安装
有没有办法永久安装库?不用每次都花时间安装使用?
是的。您可以在 Google 驱动器中安装库。然后把路径添加到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
。它使处理大 class 变得容易得多。
如果你想要免授权解决方案。您可以使用笔记本中嵌入的 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 云控制台获取您的服务帐户凭据并将其嵌入到笔记本中
%%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": "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 存储桶。并将其挂载到一个虚构的目录中。
!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
它了。
在 Google Colaboratory 中,我可以使用 !pip install package-name
安装新库。但是明天再打开笔记本的时候,每次都需要重新安装
有没有办法永久安装库?不用每次都花时间安装使用?
是的。您可以在 Google 驱动器中安装库。然后把路径添加到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
。它使处理大 class 变得容易得多。
如果你想要免授权解决方案。您可以使用笔记本中嵌入的 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 云控制台获取您的服务帐户凭据并将其嵌入到笔记本中
%%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": "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 存储桶。并将其挂载到一个虚构的目录中。
!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
它了。