【发布时间】:2018-08-15 12:16:05
【问题描述】:
我正在尝试在 Google Colab 上运行我的程序;我的代码使用单独编写的 .py 文件。
在正常系统中,我将所有文件都放在一个文件夹中,它使用 import xyz 工作,但是当我尝试在 Google 驱动器中使用同一文件夹时,它会出现导入错误。
【问题讨论】:
标签: python google-colaboratory
我正在尝试在 Google Colab 上运行我的程序;我的代码使用单独编写的 .py 文件。
在正常系统中,我将所有文件都放在一个文件夹中,它使用 import xyz 工作,但是当我尝试在 Google 驱动器中使用同一文件夹时,它会出现导入错误。
【问题讨论】:
标签: python google-colaboratory
当我有多个 python 脚本并希望通过代码自动导入时,我使用的方法是将其设置为包并从 repo 克隆。
首先在带有setup.py 和__init__.py 文件的repo 中设置脚本(显然)。
然后将其添加到笔记本的顶部:
!rm -rf <repo-name> # in case you need to refresh after pushing changes
!git clone https://github.com/<user>/<repo-name>.git
然后安装包:
!pip install ./<repo-name>
现在可以方便地导入函数或其他任何东西:
from <app-name>.<module> import <function>
【讨论】:
例如你有一个这样的模块
simple.py
def helloworld():
print("hello")
单击左侧面板上的箭头 => 选择文件选项卡 => 上传 simple.py 在这样的笔记本代码中
import simple
simple.helloworld()
=> hello
【讨论】:
如果你只有 2-3 个文件,你可以试试我在另一个问题中给出的解决方案。
Importing .py files in Google Colab
但如果你有 5-10 个文件,我建议你将你的库放在 github 上,然后将 !git clone 发送给 Google Colab。另一种解决方案是压缩所有库文件,然后通过使用!unzip mylib.zip 解压缩来修改第一个解决方案
如果这些库文件不在文件夹结构中,则只有几个文件在同一文件夹中。您可以上传并保存它们,然后导入它们。上传它们:
def upload_files():
from google.colab import files
uploaded = files.upload()
for k, v in uploaded.items():
open(k, 'wb').write(v)
return list(uploaded.keys())
【讨论】: