【问题标题】:Upload local files using Google Colab使用 Google Colab 上传本地文件
【发布时间】:2018-07-03 09:31:19
【问题描述】:

尝试以这种方式使用 Google Collaboratory 上传本地文件:

from google.colab import files
uploaded = files.upload()

我收到以下错误:

只有在当前浏览器会话中执行了单元格时,上传小部件才可用。请重新运行此单元格以启用。

我重新运行单元格,但它不起作用...

【问题讨论】:

    标签: python jupyter-notebook google-colaboratory


    【解决方案1】:

    听起来第三方cookies可能在您的浏览器中被禁用,请参阅https://github.com/googlecolab/colabtools/issues/17

    设置在 chrome://settings/content/cookies 下。

    【讨论】:

    • 我使用的是启用了第三方 cookie 的 Firefox,但它无法正常工作,但在 Chrome 上运行没有任何问题。还是谢谢!
    【解决方案2】:

    您可以在 Chrome 中将以下 cookie 列入白名单:

    https://[*.]googleusercontent.com:443
    

    【讨论】:

    • 感谢您提供其他答案中缺少的具体信息。 (如果没有太多解释)。这让我可以在不启用有害的谷歌广告跟踪等的情况下让 colab 工作。
    • 这在 Chrome 中为我修复了它。要提供更多信息:您需要按照说明here“允许或阻止特定站点的cookies”并添加上述字符串。
    【解决方案3】:

    我刚刚遇到了同样的问题,所以我重新启动了内核并刷新了页面,问题就消失了。希望对您有所帮助。

    【讨论】:

      【解决方案4】:

      上传按钮后的那个文字很通用:

      [ 选择文件 ] 上传小部件仅在当前浏览器会话中执行单元格时可用。请重新运行此单元格以启用。

      这是为您或其他人从另一台计算机或窗口中的浏览器打开共享笔记本的情况准备的文本。如果上传小部件由于某些安全或隐私保护而被阻止,它也会保持显示。以前通常会显示一个重要的错误消息框。

      如果您最近从同一个窗口运行过该单元格,那么如果两者之间没有修复任何设置,则重新运行它是没有用的。

      tl;dr) 文件上传需要在 Chrome 中启用第三方 cookie(上面的答案 - Chrome 设置/内容设置/阻止第三方 cookie 和站点数据 - 取消选中)。在 Firefox 中是no solution known currently


      Chrome 或新的 Firefox
      如果您禁用了第三方 cookie,您会看到此消息框(它仅在笔记本中第一次显示任何第一个输出单元格时显示一次,可能在启动时):

      错误
      无法访问显示输出所需的资源。
      这可能是因为您的浏览器不允许使用第三方 cookie。

        详情... [V展开查看详情]

         这些细节类似:

      Chrome:NotSupportedError:注册 ServiceWorker 失败:用户拒绝使用 Service Worker
      Firefox: SecurityError:操作不安全。

      他们希望你在很久以后看到这个内部error message 的回溯时记得它。 MessageError 的回溯总是相同的,因为它包含一个通过管道从 javascript 传来的复制错误。

      Chrome:MessageError:TypeError:无法读取未定义的属性“_uploadFiles”
      Firefox:MessageError:TypeError: google.colab._files 未定义

       
      旧版 Firefox 52 ESR(扩展支持版本 - 仍带有新的安全更新)
      Colab 网站目前从未在旧版 Firefox 中报告人类可理解的消息框,仅提供追溯。


      与禁用的第三方 cookie 相关的合作工作也可以接受。我很想在笔记本开始时忽略一条消息,以更喜欢标准隐私。我保证如果我想轻松上传文件或与其他人合作或不喜欢*图标,我永远不会禁用它们,该图标有时会在没有实际运行的情况下不停地旋转忙碌:-)

      【讨论】:

        【解决方案5】:

        我给了类似的答案here,但无论如何都会复制到这里,只是 因为这个问题已经吸引了更多的用户并且可以帮助很多 更多人:

        我在一分钟前遇到了同样的问题,虽然我无法发现错误,但您正在使用的文件上传方法有一个替代

        您只需点击笔记本侧边栏上的文件夹图标,然后点击上传按钮,即可在 Colab 中上传文件。

        要将文件加载到单元格中,例如 csv 文件,您只需编写(如果您使用的是 pandas):

        df = pd.read_csv('path_to/my_file.csv')
        

        这应该与浏览器无关。

        【讨论】:

          【解决方案6】:

          如果您使用的是 Chrome,请尝试以下操作:

          1. 转到 chrome://settings/content/cookies
          2. 关闭-> 阻止第三方 cookie

          这个对我有用

          【讨论】: