【问题标题】:Mount multiple drives in google colab在 google colab 中挂载多个驱动器
【发布时间】:2022-05-03 08:57:05
【问题描述】:

我使用这个功能来挂载我的谷歌驱动器

from google.colab import drive
drive.mount('/content/drive', force_remount=True)

然后像这样从中复制文件

!tar -C "/home/" -xvf '/content/drive/My Drive/files.tar'

我想从 2 个驱动器复制文件,但是当我尝试运行第一个脚本时,它只是重新安装了我的第一个驱动器

如何安装第一个驱动器,复制文件,然后安装另一个驱动器并从第二个驱动器复制文件?

【问题讨论】:

    标签: google-colaboratory


    【解决方案1】:

    以防万一有人真的需要安装多个驱动器,这里有一个安装 2 个驱动器的解决方法。

    首先,使用挂载第一个驱动器

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

    然后,使用以下脚本挂载第二个驱动器。

    !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}
    !mkdir -p /drive2
    !google-drive-ocamlfuse /drive2
    

    现在,您将能够从/drive1/My Drive/ 访问第一个驱动器中的文件,从/drive2/ 访问第二个驱动器中的文件(第二种方法不会自动创建 My Drive 文件夹)。 干杯!

    趣闻:第二种方法其实是在谷歌推出google.colab.drive987654325@之前在Colab环境中挂载谷歌驱动器的常用方法

    【讨论】:

      【解决方案2】:

      colab 驱动模块并不真正支持您描述的内容。

      将您要从第二个帐户的云端硬盘读取的文件/文件夹共享到第一个帐户的云端硬盘(例如 drive.google.com)可能是最简单的方法,然后从同一个装载中读取所有内容。

      【讨论】:

        【解决方案3】:

        如果 Suyog Jadhav 的方法出现异常:

        MessageError: Error: credential propagation was unsuccessful
        

        按照 Alireza Mazochi 描述的步骤 1 到 3 https://*.com/a/69881106/10214361


        按照以下步骤操作:

        1- 运行以下代码:

        !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
        

        2- 授予 GFUSE 权限

        在上一步中,您会收到这样的错误。单击上一条错误消息中的链接并验证您的帐户。

        Failure("打开网址出错:https://accounts.google.com/o/oauth2/auth?client_id=..。")

        3- 运行以下代码:

        !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
        

        完成此步骤后,您将拥有一个包含第二个驱动器的文件夹。

        【讨论】:

          【解决方案4】:

          Rclone 是一个命令行程序,用于管理云存储上的文件。它是云供应商 Web 存储接口的功能丰富的替代品。超过 40 种云存储产品支持 rclone,包括 S3 对象存储、商业和消费者文件存储服务以及标准传输协议。

          在此网址中,您将了解如何在 Colab 中进行设置。您甚至可以链接一个驱动器和其他云存储产品。
          https://towardsdatascience.com/why-you-should-try-rclone-with-google-drive-and-colab-753f3ec04ba1

          【讨论】:

            最近更新 更多