In MyDrive/colab a I have these files:
00-imports.py with content...
!pip install boto3
classes.py with content...
class Test
def __init__(self):
print('test objecjt created')
def test1(self):
print('test::test1')
Now, my notebook looks like this...
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)
If I run it....
---------------------------------------------------------------------------
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
It's any way to call pip from my drive scripts? It's any way to do the imports in those scripts?
The idea is create some libs in order to clean colab notebooks. Revome instalations, imports and clients from main notebook page and hidde all this stuff in my drive scripts.
CodePudding user response:
You can't install boto3 like that in a .py file If you strictly want to use a python file, you can install it like that:
import subprocess
subprocess.call(['pip', 'install', "boto3"])
or you could make an install.sh
script containing your installs
and you can execute that script using !sh install.sh
or !bash install.sh
CodePudding user response:
Id did it this way...
import os
requisite='boto3'
os.system(f"pip install requisite")