为什么Google Colab的内核(通过VS Code)不能访问我本地电脑上的文件?
我当时在尝试把Google Colab连接到我的VS Code,最终也做到了。但连接到Colab的内核后,我无法读取本地机器上的文件。相比之下,在本地的Python环境中,代码可以成功读取该文件。
with open ("./sample_data/sample.txt", 'r') as file:
content = file.readlines()
print(content)
这段代码没问题。在本地的Python环境中它可以完全正常运行,但在Colab的内核中却不行。
解决方案
默认情况下,Notebook在一个沙箱化的、由Google托管的运行时环境中运行。这通常是件好事;如果你对正在运行的代码的完整性有任何怀疑——或者你不想使用本机的计算资源来运行程序——你可以让Google的服务器来为你执行代码。不过,这也意味着Colab无法访问本地存储的任何内容。通常这没问题,因为 将数据导入Colab(无论是挂载你的驱动器,还是上传单个文件)都能满足你的需求。
如果你仍然非常确定要在本地运行——这会让Colab访问你本地的文件,但也会失去沙箱带来的所有好处——你可以启动一个“本地运行时”。对于VS Code的扩展,你可以通过点击右上角的“Select Kernel”并选择“Python Environments”而不是“Colab”来实现。
如果你在网页端,本地运行时文档 指出,在你已经安装了Jupyter的前提下,你需要运行以下Jupyter Notebook命令:
jupyter notebook \
--NotebookApp.allow_origin='https://colab.research.google.com' \
--port=8888 \
--NotebookApp.port_retries=0 \
--NotebookApp.allow_credentials=True
然后,点击“连接”按钮(通常你会在此处为运行程序选择参数,例如CPU/GPU类型),选择“连接到本地运行时…”,按需要输入上述命令输出中的参数。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。