如何在Google Colab上的Jupyter笔记本中导入自定义Python包和模块?

如何在Google Colab上的Jupyter笔记本中导入自定义Python包和模块?,python,python-3.x,jupyter-notebook,jupyter,google-colaboratory,Python,Python 3.x,Jupyter Notebook,Jupyter,Google Colaboratory,当我在Google Colab上的Jupyter笔记本中导入自定义Python包和模块时,Python解释器会报告一条错误消息,指示ModuleNotFoundError:没有名为“utilities”的模块 我希望能够开发一个Jupyter笔记本,它使用来自我开发和测试的不同Python包的不同Python类/模块的函数 我简化了我的Jupyter笔记本,它对存储在Google Drive上同一目录中的单个Python包中的唯一Python模块/类进行函数调用 Jupyter笔记本的源代码是:

当我在Google Colab上的Jupyter笔记本中导入自定义Python包和模块时,Python解释器会报告一条错误消息,指示ModuleNotFoundError:没有名为“utilities”的模块

我希望能够开发一个Jupyter笔记本,它使用来自我开发和测试的不同Python包的不同Python类/模块的函数

我简化了我的Jupyter笔记本,它对存储在Google Drive上同一目录中的单个Python包中的唯一Python模块/类进行函数调用

Jupyter笔记本的源代码是:

import importlib.util
from google.colab import drive
drive.mount('/content/drive')
import sys
sys.path.append('/content/drive/My\ Drive/Colab\ Notebooks/utilities')
# Module to test if I can import a Python package and module.
from utilities.simple_module import simple
class Try_to_Import_Package:
    number_times_executed = 0
    #   Accessor and Mutator method.
    @staticmethod
    def get_number_times_executed():
        Try_to_Import_Package.number_times_executed = Try_to_Import_Package.number_times_executed + 1
        print(" Try_to_Import_Package 'Hello World' function called:",Try_to_Import_Package.number_times_executed,"times.")
if __name__ == "__main__":
    for x in range(10):
        simple.get_number_times_executed()
        Try_to_Import_Package.get_number_times_executed()
在Google Colab Jupyter笔记本电脑my Drive->Colab Notebook的Google Drive托管代码目录中,我有一个名为utilities的文件夹,其中包含一个名为simple_module.py的Python脚本

simple_module.py的源代码如下所示:

class simple:
    number_times_executed = 0
    #   Accessor and Mutator method.
    @staticmethod
    def get_number_times_executed():
        simple.number_times_executed = simple.number_times_executed + 1
        print(" simple 'Hello World' function has been called:",simple.number_times_executed,"times.")
在我的谷歌硬盘的Colab笔记本目录中,我还有一个名为init.py的文件

其内容包括:

from .utilities import *
我需要做什么才能使用我创建并经过彻底测试的Python包中的模块/类

p/S:中的问题和解决方案不包括在嵌入Python包中导入Python模块

我可以在Google Colab Jupyter笔记本电脑我的驱动器->Colab笔记本电脑的Google驱动器托管代码目录中导入Python模块


但是,我遇到了一些问题,包括存储在文件夹/目录的Python packages子目录中的Python模块/类,包括Python脚本和Python程序的主要功能。

从2020年2月起,您可以简单地将google驱动器链接到您的colab笔记本

转到左窗格。 选择文件。 点击挂载驱动器。 现在,导航到.py模块所在的文件夹

在目录上单击鼠标右键,然后单击“复制路径”

转到colab笔记本并键入:

import sys
sys.path.append('your/folder/path/in/google/drive')
在此之后,您应该能够使用以下方法在colab中加载模块:

从模块名称导入*


希望这有帮助

从2020年2月起,您只需将google drive链接到您的colab笔记本电脑即可

转到左窗格。 选择文件。 点击挂载驱动器。 现在,导航到.py模块所在的文件夹

在目录上单击鼠标右键,然后单击“复制路径”

转到colab笔记本并键入:

import sys
sys.path.append('your/folder/path/in/google/drive')
在此之后,您应该能够使用以下方法在colab中加载模块:

从模块名称导入*


希望这有帮助

这回答了你的问题吗?试试这个@TrentonMcKinney的建议适用于Python模块/类,这正是我所遵循的。我还使用了以下行:从google.colab import drive.mount'/content/drive'但是,我仍然无法导入Python包一组Python类/模块。我还尝试了@Himanshu Poddar先生的建议,但在包含了关于实用程序Python包的信息后,我无法让它工作。我使用的代码是:from google.colab import files src=listfiles.upload.values[0]open'utilities/simple_module.py'、'wb'.writesrc open./utilities/simple_module.py'、'wb'.writesrc import mylib这是否回答了您的问题?试试这个@TrentonMcKinney的建议适用于Python模块/类,这正是我所遵循的。我还使用了以下行:从google.colab import drive.mount'/content/drive'但是,我仍然无法导入Python包一组Python类/模块。我还尝试了@Himanshu Poddar先生的建议,但在包含了关于实用程序Python包的信息后,我无法让它工作。我使用的代码是:from google.colab import files src=listfiles.upload.values[0]open'utilities/simple_module.py','wb'.writesrc open./utilities/simple_module.py','wb'.writesrc import mylib