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

时光怂恿深爱的人放手 提交于 2019-12-01 00:06:59

@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.

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.

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

Replace drive.mount('/content/drive/') by drive.mount('/content/drive')

just remove the '/' following the drive and it works perfectly..

That is from drive.mount('/content/drive/') to drive.mount('/content/drive')

Run command to unmount drive first.

!fusermount -u drive

Then try run again,

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

If mounting does not work even if absolute path /content/drive was used, then verify that appropriate directories exist,

!mdkir -p /content/drive

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!