Google Colab:pip 安装并从自定义脚本导入

Google Colab: pip install and imports from a custom script

在 MyDrive/colab 中,我有这些文件:

00-imports.py 内容...

!pip install boto3

classes.py 内容...

class Test

  def __init__(self):
    print('test objecjt created')

  def test1(self):
    print('test::test1')

现在,我的笔记本是这样的...


from google.colab import drive
drive.mount('/content/drive', force_remount=True)


import sys 
sys.path.insert(0, '/content/drive/MyDrive/colab')

from classes import Test

t = Test()

print(t.test1)

import boto3
AWS_ACCESS_KEY_ID = '****'
AWS_SECRET_ACCESS_KEY = '****'

s3 = boto3.client("s3", aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY)

如果我运行它....

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-3-a227f9818978> in <module>()
      3 AWS_SECRET_ACCESS_KEY = 'YgevaTvOHLs/fqfkoZ/MpX+kOMQa14sqhyCfcTTz'
      4 
----> 5 s3 = boto3.client("s3", aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY)

NameError: name 'boto3' is not defined

有什么方法可以从我的驱动器脚本中调用 pip 吗? 有什么方法可以在这些脚本中进行导入吗?

我们的想法是创建一些库以清理 colab 笔记本。从主笔记本页面删除安装、导入和客户端,并将所有这些东西隐藏在我的驱动器脚本中。

你不能像在 .py 文件中那样安装 boto3 如果你确实想使用 python 文件,你可以像这样安装它:

import subprocess

subprocess.call(['pip', 'install', "boto3"]) 

或者您可以制作一个包含您的安装的 install.sh 脚本 您可以使用 !sh install.sh!bash install.sh

执行该脚本

我是这样做的:

import os

requisite='boto3'
os.system(f"pip install {requisite}")