在 Google-Colaboratory 上使用自定义包

rra*_*d88 2 python python-3.x jupyter-notebook python-packaging google-colaboratory

我正在尝试在 Google Colaboratory 上使用我的自定义包,但在执行此操作时遇到了一些奇怪的错误。请注意,我尝试使用的软件包在我的计算机上没有任何错误。

它是一个名为rohan. 它在功能方面非常基础。

起初我是通过 pip 命令 ( pip install rohan)安装的。但我有一个ModuleNotFoundError错误。

import rohan
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-1-9046ed7b4857> in <module>()
----> 1 import rohan

ModuleNotFoundError: No module named 'rohan'
Run Code Online (Sandbox Code Playgroud)

然后我从源代码安装了它。

%%bash
git clone https://github.com/rraadd88/rohan.git
cd rohan
pip install -e .
Run Code Online (Sandbox Code Playgroud)

这一次,我可以毫无错误地导入主模块 ( import rohan)。但是,如果我尝试导入子模块 ( dandage),则会得到ImportError.

from rohan import dandage
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-5-6ea35256170e> in <module>()
----> 1 from rohan import dandage

ImportError: cannot import name 'dandage'
Run Code Online (Sandbox Code Playgroud)

对我来说,包的结构看起来不错。

rohan
??? MANIFEST.in
??? rohan
?   ??? dandage
?   ?   ??? subsubmodule
?   ?   ?   ??? script.py
?   ?   ?   ??? __init__.py
|   |   ??? script.py
|   |   ??? __init__.py
|   ??? script.py
?   ??? __init__.py
??? setup.cfg
??? setup.py
Run Code Online (Sandbox Code Playgroud)

来源:https : //github.com/rraadd88/rohan

同样正如我所说,该软件包在我的计算机上运行良好。所以我不确定为什么我不能在 Colaboratory 上使用它。

Bob*_*ith 6

您需要将克隆存储库的目录添加到sys.path. 例如:

!git clone https://github.com/rraadd88/rohan.git
import sys
sys.path.append('/content/rohan')
from rohan import dandage
Run Code Online (Sandbox Code Playgroud)

这是一个完整的笔记本:https : //colab.research.google.com/drive/1LSC_HyfbuOlEn7pfZYAjiOSE1fp6uipl