【问题标题】:python import pandas- import is OK, but module not available in functionpython import pandas- import 可以,但是模块在函数中不可用
【发布时间】: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


【解决方案1】:

不将 pandas 重命名为 pd 可以解决问题。

只需使用import pandas

似乎特定于熊猫和提到的版本。

【讨论】:

  • 这不太可能,Pycharm 有时会有点疯狂,使缓存无效并重新启动(从“文件”选项卡)可能会解决问题。
猜你喜欢
  • 2015-04-13
  • 2019-01-21
  • 1970-01-01
  • 1970-01-01
  • 2023-01-22
  • 2014-04-10
  • 1970-01-01
相关资源
最近更新 更多