首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google驱动器挂载(带有下划线)不起作用

Google驱动器挂载(带有下划线)不起作用
EN

Stack Overflow用户
提问于 2022-01-21 08:21:41
回答 6查看 7.8K关注 0票数 12

直到昨天(1月20日),我才可以连接到另一个谷歌驱动器帐户(使用drive._mount),但当我今天尝试使用时,google向我展示了以下错误:

代码语言:javascript
运行
复制
from google.colab import drive
drive._mount('/content/drive/')

    /usr/local/lib/python3.7/dist-packages/google/colab/drive.py in _mount(mountpoint, force_remount, timeout_ms, use_metadata_server, ephemeral)
    294       wrote_to_fifo = True
    295     elif case == 5 and not use_metadata_server:
--> 296       raise ValueError('mount failed: invalid oauth code')
    297     elif case == 6:
    298       # Terminate the DriveFS binary before killing bash.

ValueError: mount failed: invalid oauth code

奇怪的是,错误告诉我“无效的oauth代码”,但不让我连接到google页面并复制代码!

我设置了use_metadata_server=True,但这一次出现了新的错误:

代码语言:javascript
运行
复制
    from google.colab import drive
    drive._mount('/content/drive/', use_metadata_server=True)
ValueError                                Traceback (most recent call last)
<ipython-input-5-42a561ce7057> in <module>()
      1 from google.colab import drive
----> 2 drive._mount('/content/drive/', use_metadata_server=True)

/usr/local/lib/python3.7/dist-packages/google/colab/drive.py in _mount(mountpoint, force_remount, timeout_ms, use_metadata_server, ephemeral)
    285             ': timeout during initial read of root folder; for more info: '
    286             'https://research.google.com/colaboratory/faq.html#drive-timeout')
--> 287       raise ValueError('mount failed' + extra_reason)
    288     elif case == 2:
    289       # Not already authorized, so do the authorization dance.

ValueError: mount failed

此外,我使用drive.mount,但显示弹出,并要求我输入另一个帐户凭据。当我输入它时,会出现以下错误:

代码语言:javascript
运行
复制
from google.colab import drive
drive.mount('/content/drive/')

MessageError                              Traceback (most recent call last)
<ipython-input-1-91874b305a32> in <module>()
      1 from google.colab import drive
----> 2 drive.mount('/content/drive/')

3 frames
/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

我认为这是新政策。有解决办法吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2022-01-21 19:47:03

此功能已被删除,您现在只能从您的笔记本的同一帐户安装谷歌驱动器。https://github.com/googlecolab/colabtools/issues/2562#issuecomment-1017869732

票数 9
EN

Stack Overflow用户

发布于 2022-01-21 14:51:06

目前唯一可行的解决方案是两个月前,我们提出了类似的问题:

代码语言:javascript
运行
复制
!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

让我们希望drive.mount的正常方式很快就能被修复!

票数 7
EN

Stack Overflow用户

发布于 2022-01-26 08:28:32

正如@ been 1086010所提到的,此功能已被删除。我用的是"gdrive“软件包。运行以下笔记本代码块以安装gdrive packhage

代码语言:javascript
运行
复制
import os

com_wget = "sudo wget " +"https://github.com/prasmussen/gdrive/releases/download/2.1.1/gdrive_2.1.1_linux_386.tar.gz"
com_unzip = "sudo tar -xzf gdrive_2.1.1_linux_386.tar.gz"
com_permission = "sudo chmod +x gdrive"
com_install_executor = "sudo install gdrive /usr/local/bin/gdrive"

os.system(com_wget)
os.system(com_unzip)
os.system(com_permission)
os.system(com_install_executor)

然后将您的驱动器连接到"gdrive列表“:

代码语言:javascript
运行
复制
!sudo gdrive list

您可以通过以下方式下载您的文件:

代码语言:javascript
运行
复制
!gdrive download <gdrive_file_id>

您可以通过以下方式上传:

代码语言:javascript
运行
复制
!gdrive upload <path_to_file>

或用于目录:

代码语言:javascript
运行
复制
!gdrive upload -r <path_to_dir>

您可以使用以下方法将文件上载到特定的gdrive文件夹:

代码语言:javascript
运行
复制
!gdrive upload --parent <gdrive_folder_id> <path_to_file>

要删除身份验证令牌,请运行以下命令:

代码语言:javascript
运行
复制
!rm -rf ~/.gdrive/token_*.json

查看此链接以获得包的参考用例和文档:gdrive软件包链接

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70798293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档