Bra*_*gar 12 google-drive-api google-colaboratory
我尝试在 Google Colab 中安装驱动器,但是由于凭据错误而无法执行此操作。
我想安装另一个与我在 Google Colab 中使用的驱动器不同的驱动器。
以下是我的命令。
from google.colab import drive
drive.mount('/content/drive')
Run Code Online (Sandbox Code Playgroud)
以下为提问部分。
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
Run Code Online (Sandbox Code Playgroud)
我昨天可以安装另一个驱动器来执行相同的方法。
解决办法是什么?
Bra*_*gar 12
我用这个链接解决了这个问题。以下是正确的代码:
from google.colab import drive
drive._mount('/content/drive')
Run Code Online (Sandbox Code Playgroud)
这是代码的屏幕截图:
更新: 从 2022 年 3 月 30 日起,我的旧解决方案不再起作用!我找到了另一个现在有效的解决方案(菲利普的解决方案)。
菲利普的解决方案:
该解决方案基于Phillip 的帖子。您可以关注他的帖子以获取更多信息。
按着这些次序:
!sudo add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!sudo apt-get update -qq 2>&1 > /dev/null
!sudo apt -y install -qq google-drive-ocamlfuse 2>&1 > /dev/null
!google-drive-ocamlfuse
Run Code Online (Sandbox Code Playgroud)
Failure("打开网址时出错:https://accounts.google.com/o/oauth2/auth?client_id=.. ")
!sudo apt-get install -qq w3m # to act as web browser
!xdg-settings set default-web-browser w3m.desktop # to set default browser
%cd /content
!mkdir drive
%cd drive
!mkdir MyDrive
%cd ..
%cd ..
!google-drive-ocamlfuse /content/drive/MyDrive
Run Code Online (Sandbox Code Playgroud)
您必须收到此消息:
访问令牌已正确检索。
我的旧解决方案
!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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17996 次 |
| 最近记录: |