Kasra
Kasra

Reputation: 2189

mount google drive in kaggle notebook

In google colab, I easily mount my google drive with this:

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

In kaggle's notebook, however, it gives this error:

KeyError                                  Traceback (most recent call last)
<ipython-input-14-2b128295b616> in <module>
      2 # !pip install google-colab
      3 from google.colab import drive
----> 4 drive.mount('/content/gdrive')
      5 # Set your own project id here
      6 # PROJECT_ID = 'your-google-cloud-project'

/opt/conda/lib/python3.6/site-packages/google/colab/drive.py in mount(mountpoint, force_remount, timeout_ms)
     80     return
     81 
---> 82   env = _env()
     83   home = env.home
     84   root_dir = env.root_dir

/opt/conda/lib/python3.6/site-packages/google/colab/drive.py in _env()
     41   home = _os.environ['HOME']
     42   root_dir = _os.path.realpath(
---> 43       _os.path.join(_os.environ['CLOUDSDK_CONFIG'], '../..'))
     44   inet_family = 'IPV4_ONLY'
     45   dev = '/dev/fuse'

/opt/conda/lib/python3.6/os.py in __getitem__(self, key)
    667         except KeyError:
    668             # raise KeyError with the original key value
--> 669             raise KeyError(key) from None
    670         return self.decodevalue(value)
    671 

KeyError: 'CLOUDSDK_CONFIG'

This is my setup in kaggle notebook (also tested this, did not work):

!pip install google-colab # I don't know if this is the correct package
from google.colab import drive
drive.mount('/content/gdrive')

Upvotes: 14

Views: 28828

Answers (3)

Kayvan Shah
Kayvan Shah

Reputation: 508

As the stack trace suggests you have some keys missing.

  • CLOUDSDK_CONFIG

You can get this key by logging into GCP and searching for creds

To use these secretively: place this key into Kaggle Secrets Add-ons.

Upvotes: 0

Benyamin Jafari
Benyamin Jafari

Reputation: 34046

In fact, the google-colab library does not exist in the Kaggle Kernel. In this way, I use the following procedure to deal with this problem in Kaggle Kernel:

  • First, extract the ID of your desire file from google drive:

    1. In your browser, navigate to drive.google.com.

    2. Right-click on the file, and click "Get a shareable link"

      Right click get shareable link

    3. Then extract the ID of file from URL:

      enter image description here

  • Next, install gdown PyPI module using conda:

    ! conda install -y gdown

  • Finally, download the file using gdown and the intended ID:

    !gdown --id <put-the-ID>

For example:

!gdown --id 1-1wAx7b-USG0eQwIBVwVDUl3K1_1ReCt

Upvotes: 13

Bob Smith
Bob Smith

Reputation: 38589

google-colab is not maintained by Google, and Colab libraries like drive.mount won't work outside of the Colab environment itself.

Upvotes: 3

Related Questions