Python 模块无法识别全局别名

Python module does not recognize global alias

与我的项目 main 相同目录中的一个包有一个模块需要引用 "well-known" 模块,例如 pandas。但是,该模块无法识别 pandas.

供参考,我是运行python3.7.3.

这是我设置的目录:

test/
    main.py
    package1/
        __init__.py
        module.py

这是文件 main.py:

import pandas as pd
from package1.module import my_series

print(my_series([1,2,3]))

module.py 包含

def my_series(list1):
    return(pd.Series(list1))

我希望输出是与此列表关联的系列:

0    1
1    2
2    3

但是,我得到了错误

Traceback (most recent call last):
  2 ||   File "main.py", line 5, in <module>
  3 ||     print(my_series([1,2,3]))
  4 ||   File "/Users/awray_mac/Documents/test/package1/module.py", line 2, in my_series
  5 ||     return(pd.Series(list1))
  6 || NameError: name 'pd' is not defined

这是怎么回事?让像这样的子模块引用已经从主文件导入的 pandas 包的正确方法是什么?

您需要在 package1/module.py 中导入 pandas,如下所示:

import pandas as pd
import pandas as pd 

在 module.py 文件中