这不是一个完美的解决方案,但它可能比每次下载和构建新的conda安装更快。以下是步骤概述:
- 在Colab中将conda安装到本地目录,并将该目录打包并存储在Google Drive上。
- 当您启动新的Colab笔记本或重新启动现有的笔记本时,运行代码块从Google Drive获取conda安装并重新设置环境。
1. 创建conda及所需软件包的安装(仅需一次)
下载并安装miniconda到/content/miniconda3
目录:
%env PYTHONPATH=
! wget https://repo.anaconda.com/miniconda/Miniconda3-py37_4.9.2-Linux-x86_64.sh
! chmod +x Miniconda3-py37_4.9.2-Linux-x86_64.sh
! bash ./Miniconda3-py37_4.9.2-Linux-x86_64.sh -b -f -p /content/miniconda3
将miniconda添加到系统的
PATH
中:
import os
path = '/content/miniconda3/bin:' + os.environ['PATH']
%env PATH=$path
安装所需的conda软件包(例如packagexyz):
!conda install -c conda-forge packagexyz -y
可选代码块:检查 packagexyz 是否正常工作。这将打印出 packagexyz 的版本以及其在 Conda 目录中的位置:
import sys
_ = sys.path.append("/content/miniconda3/lib/python3.7/site-packages")
import packagexyz
print(packagexyz.__version__, packagexyz.__file__)
将所有内容复制到 Google Drive 上(点击链接获取认证代码,然后将其粘贴到框中):
from google.colab import drive
drive.mount('/content/drive')
!tar -zcf conda_colab.tar.gz /content/miniconda3
!cp conda_colab.tar.gz /content/drive/My\ Drive/
2. 将 conda 复制回 Colab(每次重新启动笔记本时运行)
挂载 Google Drive(需要再次输入授权码),将 conda 安装包复制回 Colab,并重新设置环境:
from google.colab import drive
drive.mount('/content/drive')
!tar -xf /content/drive/My\ Drive/conda_colab.tar.gz -C ../
import os
path = '/content/miniconda3/bin:' + os.environ['PATH']
%env PATH=$path
%env PYTHONPATH=
import sys
_ = sys.path.append("/content/miniconda3/lib/python3.7/site-packages")
注意事项
- 此解决方案仅经过轻微测试。您可能需要根据安装的包设置其他环境变量。
- 通过调整
tar
压缩设置,步骤2可能会更快。如果您的conda安装非常大,请考虑在步骤1和步骤2的开头使用apt-get
安装pigz
,然后将--use-compress-program=pigz
添加到!tar...
命令中以并行化压缩和解压缩步骤。
constructor
的解决方案,结合conda-colab。请查看这个tutorial。这是一个比使用Google Drive更清洁和更快速的解决方案。 - Alex Malins