簡體   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