如何将我自己的使用导入模块的类导入到jupyter笔记本中

时间:2018-03-15 09:35:14

标签: python jupyter-notebook

我在一个名为recording.py的文件中定义了一个类,我试图将其导入到Jupyter笔记本中。这个类使用numpy中的方法,我在笔记本和.py文件中导入为'np'。当我尝试调用其中一种方法时,我收到错误,声明未定义名称“np”。我已经尝试使用'import recording.py'(并将其附加到路径中的目录)并在单元格中运行'%run recording.py',我得到了同样的错误。我在这里错过了什么?我想不出任何其他的尝试。

编辑以获得更多清晰度:

我有一个文件recording.py,它定义了一个类:

import numpy as np
class Recording:
--- some methods ---

其中来自numpy的方法在某些类方法中使用。在同一个目录中,我有一个Jupyter笔记本,我想使用这个类。在这本笔记本中,我有:

import numpy as np
import sys
sys.path.append('path/to/file')
import recording #or from recording import Recording
r = recording.Recording(initialization arguments)
r.method_that_uses_numpy()

我也尝试用'%run recording.py'替换'import recording'。当我尝试执行此操作时,我收到此错误声明'np'未定义:

/Documents/neuroscience/scratch/recording.py in remove_neuron(self, n)
     41 
     42     def remove_neuron(self,n):
---> 43         self.centroid = np.delete(self.centroid,n,1)
     44         self.time = np.delete(self.time,n,1)
     45         self.intRaw = np.delete(self.intRaw,n,1)

NameError: name 'np' is not defined

我不知道为什么会发生这种情况或如何解决它。

0 个答案:

没有答案