首页 > 解决方案 > 模块功能无法识别导入的包

问题描述

我有一个正在使用的 Jupyter 笔记本。在第一个单元格中,我导入了几个常见的包:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from scipy import signal

在下一个单元格中,我导入了一个名为“apt_pkg”的包,其中包含一个名为“test_mod.py”的模块:

from apt_pkg import *

模块“test_mod.py”包含以下功能:

def working():
   print('Is working')
   print(np.nan)
   return

然后我在 Jupyter 笔记本中运行该函数:

test_mod.working()

当我这样做时,我得到一个 NameError ("NameError: name 'np' is not defined")。代码可以在这里看到:

Jupyter 笔记本的屏幕截图

如果我更改函数并将 matplotlib.pyplot 引用为 plt(例如 plt.show())或将 pandas 引用为 pd(例如 pd.DataFrame),我还会得到一个 NameError,其中未定义“plt”或“pd”。我该如何纠正?

标签: pythonjupyter-notebook

解决方案


你需要在np里面定义test_mod.py

import numpy as np

def working():
   print('Is working')
   print(np.nan)
   return

在 Jupyter Notebook 中导入numpy as np是不够的:您需要在每个需要它的脚本中导入包(这里test_mod.py


推荐阅读