29

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

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

我收到以下错误:

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

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

4

6 回答 6

30

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

该设置位于 chrome://settings/content/cookies 下。

于 2018-01-24T16:31:15.823 回答
12

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

https://[*.]googleusercontent.com:443
于 2019-11-01T15:36:42.180 回答
2

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

于 2019-08-14T14:24:31.727 回答
1

上传按钮后的文本非常通用:

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

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

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

tl;dr)文件上传需要在 Chrome 中启用第三方 cookie(上面的答案 - Chrome 设置/内容设置/阻止第三方 cookie 和站点数据 - 取消选中)。在 Firefox 中,目前还没有已知的解决方案


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

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

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

   这些细节是相似的:

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

他们希望您在很久以后看到带有此内部错误消息的回溯时记得它。回溯与MessageError每次都是相同的,因为它包含一个通过管道来自 javascript 的复制错误。

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

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


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

于 2018-02-21T11:24:43.387 回答
1

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

一分钟前我遇到了同样的问题,虽然我无法捕捉到错误,但您使用的文件上传方法还有另一种选择。

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

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

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

这应该与浏览器无关。

于 2020-01-28T13:14:16.267 回答
0

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

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

这个对我有用

于 2020-07-12T17:48:52.147 回答