Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google Colab-ValueError: Mountpoint must be in a directory that exists

I want to mount google drive on google Colab and I am using this command to mount the drive

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

but I am getting this error

ValueError                               Traceback (most recent call last)
<ipython-input-45-9667a744255b> in <module>()
       1 from google.colab import drive
 ----> 2 drive.mount('content/drive/')

 /usr/local/lib/python3.6/dist-packages/google/colab/drive.py in
 mount(mountpoint, force_remount)
      99       raise ValueError('Mountpoint must either be a directory or not exist')
     100     if '/' in mountpoint and not _os.path.exists(_os.path.dirname(mountpoint)):
 --> 101       raise ValueError('Mountpoint must be in a directory that exists')
     102   except:
     103     d.terminate(force=True)

 ValueError: Mountpoint must be in a directory that exists

like image 372
clarky Avatar asked Jan 17 '19 07:01

clarky


5 Answers

Just go to "manage section" , then terminate your current section, and try to mount again with:

from google.colab import drive
drive.mount('/content/drive', force_remount=True) 

It worked here.

like image 102
Diving Avatar answered Oct 22 '22 20:10

Diving


@clarky: the error you got was correct tried to tell you that your usage of drive.mount() is incorrect: the mountpoint argument to drive.mount() must be an empty directory that exists, or the name of a non-existent file/directory in a directory that does exist so that the mountpoint can be created as part of the mount operation. Your usage of a relative path in drive.mount('content/drive/') (i.e. content/drive/) implies that the mount should happen at '/content/content/drive' because the interpreter's default path is /content; note the doubled content path component there, and likely you don't already have a directory named /content/content inside of which a mountpoint named drive could be created. The fix to your notebook code is to instead use drive.mount('/content/drive') - note the leading / making the mountpount path absolute instead of relative.

like image 38
Ami F Avatar answered Oct 22 '22 20:10

Ami F


I ran into this error this morning as well. I'm not sure what this commit what meant to fix but it certainly caused the error. A workaround is to copy the code for drive.py into colab, comment out lines 100 and 101 like this:

# drive.py

...

  try:
    if _os.path.islink(mountpoint):
      raise ValueError('Mountpoint must not be a symlink')
    if _os.path.isdir(mountpoint) and _os.listdir(mountpoint):
      raise ValueError('Mountpoint must not already contain files')
    if not _os.path.isdir(mountpoint) and _os.path.exists(mountpoint):
      raise ValueError('Mountpoint must either be a directory or not exist')
    #  if '/' in mountpoint and not _os.path.exists(_os.path.dirname(mountpoint)):
    #    raise ValueError('Mountpoint must be in a directory that exists')
  except:
    d.terminate(force=True)
    raise

...

then replace

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

with

mount('/content/drive/')

using the mount function you copied from drive.py

Hopefully the issue gets fixed quickly enough so we can do away with this workaround.

like image 3
Jimi Avatar answered Oct 22 '22 19:10

Jimi


In my case, I click the folder icon on the side panel, it will show you Upload, Refresh and Mount Drive.

  1. click on the Mount Drive, the 'drive' folder containing 'My Drive' folder appears
  2. Then run

    from google.colab import drive drive.mount('drive')

  3. Go to this URL in a browser will appear - I sign to one of my account

  4. Enter your authorization code

Drive

like image 2
nggih Avatar answered Oct 22 '22 19:10

nggih


I received the error as well change to drive.mount('/content/drive')

like image 1
Pinkerton Avatar answered Oct 22 '22 18:10

Pinkerton