【问题标题】:How to import custom modules in google colab?如何在 google colab 中导入自定义模块?
【发布时间】:2019-03-14 23:38:36
【问题描述】:

我有一个名为 imutils.py 的文件,它只有一个定义,即 abc(),它返回 2 个整数的总和。

现在我想在单独的协作文件中使用这个定义,但我不能。

我使用的方法是先上传文件imutils.py到驱动,然后导入并使用定义。错误说模块“imutils”没有属性“abc”

要上传,我首先使用了 2 种方法: 首先,我使用驱动器 GUI 上传,然后我还使用代码尝试了上述操作。两种情况下都上传成功

from google.colab import files
files.upload() 

【问题讨论】:

  • 所以你说上传成功但是你仍然不能执行imutils.py?你能显示!ls的输出吗?
  • 当你在它的时候,!python imutils.py 是否执行没有错误?
  • 更多解决方案可以在here找到。我发现Aditya Mishra 中的!git clone https://github.com/username/repo_name.git. 非常有用。

标签: python google-colaboratory


【解决方案1】:

如果您的 Python 文件在云端硬盘中,则挂载云端硬盘可能比上传文件更简单,例如,

from google.colab import drive
drive.mount('/content/gdrive')

然后,如果你有一个模块,你可以像这样导入它:

https://colab.research.google.com/drive/1uvHuizCBqFgvbCwEhK7FvU8JW0AfxgJw

笔记本内容如下:

在浏览器中访问此 URL:https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=email%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocs.test%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.photos.readonly%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fpeopleapi.readonly&response_type=code

输入您的授权码:

···········

安装在/content/gdrive

我碰巧在云端硬盘中有一个现有的 .py 文件。

!ls /content/gdrive/My\ Drive/*.py
>>> /content/gdrive/My Drive/mylib.py

!cat '/content/gdrive/My Drive/mylib.py'

def MyFunction():
    print ('My imported function')

# We'll need to update our path to import from Drive.

import sys
sys.path.append('/content/gdrive/My Drive')

# Now we can import the library and use the function.

import mylib
mylib.MyFunction()

【讨论】:

  • 我尝试对我 !git clone 进入 Colab 的文件夹执行相同操作,但它不起作用...
  • 只需确保使用记事本编辑器编辑模块/库,因为 colab 编辑器会添加大量元数据并使导入找不到函数
猜你喜欢
  • 1970-01-01
  • 2019-03-11
  • 2023-04-06
  • 1970-01-01
  • 2020-02-28
  • 2019-08-07
  • 2019-07-19
  • 1970-01-01
  • 2019-11-09
相关资源
最近更新 更多