Google Colab-ValueError: точка монтирования должна находиться в каталоге, который существует - PullRequest
0 голосов
/ 17 января 2019

Я хочу смонтировать диск Google на Google Colab, и я использую эту команду для монтирования диска

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

но я получаю эту ошибку

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

Ответы [ 7 ]

0 голосов
/ 19 января 2019

Заменить drive.mount('/content/drive/') на drive.mount('/content/drive')

0 голосов
/ 20 января 2019

просто удалите «/» после диска, и он отлично работает ..

То есть от drive.mount ('/ content / drive /') до drive.mount ('/ content / drive')

0 голосов
/ 18 января 2019

Если монтирование не работает, даже если использовался абсолютный путь /content/drive, убедитесь, что существуют соответствующие каталоги,

!mdkir -p /content/drive

0 голосов
/ 17 января 2019

Я получил ошибку, также измените на drive.mount('/content/drive')

0 голосов
/ 17 января 2019

@ clarky: ошибка, которую вы получили, была правильной, пытался сказать вам, что вы используете drive.mount () неправильно: аргумент точки монтирования для drive.mount () должен быть пустым каталогом, который существует, или именем несуществующий файл / каталог в каталоге, который существует, так что точка монтирования может быть создана как часть операции монтирования. Использование вами относительного пути в drive.mount('content/drive/') (то есть content/drive/) подразумевает, что монтирование должно происходить в '/content/content/drive', потому что путь интерпретатора по умолчанию - /content; обратите внимание на двойной компонент пути content, и, вероятно, у вас еще нет каталога с именем / content / content, внутри которого можно создать точку монтирования с именем drive. Исправление к коду вашего ноутбука заключается в том, чтобы вместо этого использовать drive.mount('/content/drive') - обратите внимание на ведущий /, делающий путь монтирования абсолютным, а не относительным.

0 голосов
/ 17 января 2019

Запустите команду, чтобы сначала размонтировать диск.

!fusermount -u drive

Затем попробуйте снова,

from google.colab import drive
drive.mount('/content/drive')
0 голосов
/ 17 января 2019

Я столкнулся с этой ошибкой и сегодня утром. Я не уверен, что это commit , что означало исправить, но это, безусловно, вызвало ошибку. Обходной путь - скопировать код для drive.py в colab, закомментировать строки 100 и 101 следующим образом:

# 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

...

затем заменить

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

с

mount('/content/drive/')

с использованием функции mount, которую вы скопировали с drive.py

Надеюсь, проблема будет решена достаточно быстро, поэтому мы можем покончить с этим обходным путем.

...