【发布时间】:2023-01-16 20:49:56
【问题描述】:
我在导入熊猫时遇到一个奇怪的问题。
这是我的进口:
import pandas as pd
# ... more imports here
导入工作正常。
然后我有一个主要功能:
def main ():
# here pd is not available during execution
# for example
print (pd)
预期的输出应该是这样的:
<module 'pandas from/site-packages/pandas/__init__.py'>
但我得到一个
UnboundLocalError: local variable 'pd' referenced before assignment
现在它变得非常非常奇怪:
如果我在 IDE (PyCharm 2022.3.1) 中运行程序并在 print 语句处设置断点,我可以看到此时已定义 pd
我还可以在PyCharm 控制台它有效。但是在程序代码中它仍然不起作用。
只是为了使它更加清楚:我在常规程序中引用它之前测试了pd的存在恰好一行
如果我使用 python 从 shell 运行它,它也不起作用。所以这似乎不是 PyCharm 的问题。
我使用 Python 3.10。和 MacOS Ventura 上的 pandas 1.5.0。
【问题讨论】:
-
您是否在 main 中创建了一个名为
pd的变量? -
不,没有分配给 pd
-
我观察到的更多细节:当我不在 main() 函数中运行代码,而是使用
if __name__ == "__main__":语句时,它工作正常 - 我知道这可能来自哪里。 -
我现在无法发布答案,但您可以在主函数中添加
global pd语句来解决此问题 -
你能发布完整的代码吗?
标签: python pandas import pycharm