繁体   English   中英

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

[英]Google Colab: pip install and imports from a custom script

在 MyDrive/colab a 我有这些文件:

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}")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM