我无法在 Google Colab 中安装我的另一个驱动器
Posted
技术标签:
【中文标题】我无法在 Google Colab 中安装我的另一个驱动器【英文标题】:I can't mount my another drive in Google Colab 【发布时间】:2021-12-17 12:46:29 【问题描述】:我尝试在 Google Colab 中安装我的驱动器,但是由于凭据错误,我无法执行。
我想安装另一个与我在 Google Colab 中使用的驱动器不同的驱动器。
以下是我的命令。
from google.colab import drive
drive.mount('/content/drive')
以下是问题的一部分。
MessageError Traceback (most recent call last)
<ipython-input-1-d5df0069828e> in <module>()
1 from google.colab import drive
----> 2 drive.mount('/content/drive')
3 frames
/usr/local/lib/python3.7/dist-packages/google/colab/drive.py in mount(mountpoint,
force_remount, timeout_ms, use_metadata_server)
111 timeout_ms=timeout_ms,
112 use_metadata_server=use_metadata_server,
--> 113 ephemeral=ephemeral)
114
115
/usr/local/lib/python3.7/dist-packages/google/colab/drive.py in _mount(mountpoint,
force_remount, timeout_ms, use_metadata_server, ephemeral)
134 if ephemeral:
135 _message.blocking_request(
--> 136 'request_auth', request='authType': 'dfs_ephemeral', timeout_sec=None)
137
138 mountpoint = _os.path.expanduser(mountpoint)
/usr/local/lib/python3.7/dist-packages/google/colab/_message.py in
blocking_request(request_type, request, timeout_sec, parent)
173 request_id = send_request(
174 request_type, request, parent=parent, expect_reply=True)
--> 175 return read_reply_from_input(request_id, timeout_sec)
/usr/local/lib/python3.7/dist-packages/google/colab/_message.py in
read_reply_from_input(message_id, timeout_sec)
104 reply.get('colab_msg_id') == message_id):
105 if 'error' in reply:
--> 106 raise MessageError(reply['error'])
107 return reply.get('data', None)
108
MessageError: Error: credential propagation was unsuccessful
我昨天可以安装另一个驱动器来执行相同的方法。
解决办法是什么?
【问题讨论】:
这个问题是在我使用 Colab Pro+ 帐号时出现的。当我使用免费的 Colab 帐户时,我可以安装另一个驱动器。所以,我认为这个问题是由 Colab Pro+ 引起的。 【参考方案1】:我用this link 解决了这个问题。以下是正确的代码:
from google.colab import drive
drive._mount('/content/drive')
代码截图如下:
【讨论】:
它一直工作到昨天。我从 google.colab import drive 得到 2 3 ----> 4 drive._mount('/content/drive') 5 6 # !apt-get -qq install -y libsm6 libxext6 && pip install -q -U opencv- python /usr/local/lib/python3.7/dist-packages/google/colab/drive.py in _mount(mountpoint, force_remount, timeout_ms, use_metadata_server, ephemeral) 295 elif case == 5 而不是 use_metadata_server: --> 296 raise ValueError('mount failed: invalid oauth code') ValueError: mount failed: invalid oauth code 现在,这个解决方案不起作用。 不工作了【参考方案2】:截至目前(2022 年 1 月 26 日),您无法在 Colab 中使用 drive.mount() 或 drive._mount() 挂载另一个具有不同 goggle 帐户的驱动器。以前是可以做到的。
现在,您可以改用gdrive package。在this thread查看我的详细回答
【讨论】:
【参考方案3】:Another solution:
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id=creds.client_id -secret=creds.client_secret < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo vcode | google-drive-ocamlfuse -headless -id=creds.client_id -secret=creds.client_secret
%cd /content
!mkdir drive
%cd drive
!mkdir MyDrive
%cd ..
%cd ..
!google-drive-ocamlfuse /content/drive/MyDrive
【讨论】:
谢谢解决!我已经确认它可以正常工作。 @BraveSugar 不客气!【参考方案4】:只需复制并粘贴下面给出的代码:-
#Connect Google Drive
from google.colab import drive
drive._mount('/content/drive')
【讨论】:
以上是关于我无法在 Google Colab 中安装我的另一个驱动器的主要内容,如果未能解决你的问题,请参考以下文章
未能直接从Github在Google Colab中安装Sk-learn(scikit-learn)