Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to import custom modules in google colab?

I have a file named imutils.py that has just one definition namely abc() which returns the sum of 2 integers.

Now I want to use this definition in a separate collab file but I am unable to.

The method I used was to first upload the file imutils.py to drive and then importing it and using the definition. The error says module 'imutils' has no attribute 'abc'

To upload I first used 2 methods : First I uploaded using the drive GUI and then I also tried the above using the code. Uploading in both cases was successful

from google.colab import files files.upload()  
like image 894
Shreyas Ramachandran Avatar asked Oct 10 '18 06:10

Shreyas Ramachandran


People also ask

How do I load my own dataset in Google Colab?

Load datasets from Google Drive Scroll down to Open files from Google Drive and click on INSERT. Go to the URL link on your browser to grant access to Colab, copy the authorization code and paste it into the space given in the notebook. You can now access all your datasets on your Drive directly on Colab.

How do I import another Ipynb file to Google Colab?

How to open Google Colab. You can open a new Colab notebook from your Google Drive window or by visiting the Colab site. From the Colaboratory site, you can use the menu to upload an iPython notebook: This will upload the ipynb file that you downloaded before.


1 Answers

If your Python file is in Drive, it's likely simpler to mount your Drive than to upload the file, e.g.,

from google.colab import drive drive.mount('/content/gdrive') 

Then, if you have a module, you can import it like so:

https://colab.research.google.com/drive/1uvHuizCBqFgvbCwEhK7FvU8JW0AfxgJw

Contents of the Notebook follow:

Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=email%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocs.test%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.photos.readonly%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fpeopleapi.readonly&response_type=code

Enter your authorization code:

··········

Mounted at /content/gdrive

I happen to have an existing .py file in Drive.

!ls /content/gdrive/My\ Drive/*.py >>> /content/gdrive/My Drive/mylib.py  !cat '/content/gdrive/My Drive/mylib.py'  def MyFunction():     print ('My imported function')  # We'll need to update our path to import from Drive.  import sys sys.path.append('/content/gdrive/My Drive')  # Now we can import the library and use the function.  import mylib mylib.MyFunction() 
like image 106
Bob Smith Avatar answered Oct 09 '22 19:10

Bob Smith