gpt4 book ai didi

eclipse - Pydev "Undefine variable from import"在 Ubuntu 上使用 pygame 而不是 Windows

转载 作者:行者123 更新时间:2023-12-04 18:54:00 26 4
gpt4 key购买 nike

简而言之

在 Ubuntu 11.10 上,对于 pygame 库,pydev 报告“来自导入的 undefined variable ”。在 Windows 7 上,一切都很好。在这两个平台上,代码都能正常工作。

这与 this thread 相同的错误(和 bunch of others )。删除和重新添加我的解释器并没有改变任何东西。我还尝试将 pygame 作为强制内置库包含在内,但它没有改变任何东西(我检查了 pygame 是否在系统 PYTHONPATH 中)。

配置

在 Ubuntu 和 Windows 上,我都使用 Eclipse Indigo 和 Python 3.2。

在 Ubuntu 上,我正在使用:

  • Ubuntu 11.10
  • Pygame 1.9.2pre 从 pygame Hg repo 编译而来。构建和安装后,site-packages/pygame 文件夹包含一堆 .so 和 .py 文件。

  • 在 Windows7 上:
  • 带有 SP1 的 Windows 7 专业版
  • Pygame 1.9.2pre 来自 lfd.uci.edu . MSI 在 site-packages/pygame 文件夹中创建了一堆 .pyd 和 .py。

  • 我知道静态分析不能进入 Ubuntu 上的 .so 文件。我也明白 Python 是一种动态语言。因此 pydev 具有静态分析固有的局限性。但是 Windows 7 上的 pydev 设法链接 .pyd 文件中的类,这些文件是动态库。为什么?我怎样才能让它在 Ubuntu 上运行?

    提示?
    import pygame
    from pygame.locals import *

    在 Ubuntu 中使用上面的代码,我可以 ctrl-click(或 f3)到 pygame 包,但不能到 pygame.locals。在 Windows 上,我可以同时访问两者。
    import pygame
    import pygame.locals
    from pygame.locals import *

    现在我可以访问 pygame.locals。我想这有助于 pydev 弄清楚“期望”什么,因为 locals.py 实际上存在于 site-packages/pygame 文件夹中。但我不想改变我所有的代码只是为了适应 pydev。

    无论如何,下面的行仍然会在 Ubuntu 上引发“导入中的 undefined variable ”,但在 Windows 上不会。
    except pygame.error:

    PS:如果有帮助,我有一个 64 位的联想 T410,并安装了 64 位的所有东西。

    最佳答案

    我刚刚在 Ubuntu 上对其进行了测试,它似乎对我来说可以正常工作......你可以发布以下内容来帮助你修复它吗:

    1 .如果您添加了“pygame”,请从您的强制内置函数中删除它(这个特定用例不需要它......通过查看它的结构,静态分析器似乎应该能够正确处理它,并且pygame 中的 .so 文件将由 shell 自动处理,因此无需显式处理)。

    2 .有一个程序:

    import sys
    print '\n'.join(sorted(sys.path))
    import pygame.locals
    print pygame
    print pygame.locals

    当你从 PyDev 启动它时,它给你的输出是什么? (我有兴趣了解 pygame 的完整路径,它是否会在运行时抛出 ImportError 以及你的完整 PYTHONPATH)

    3 .您的错误日志中有错误吗? (PyDev 能够自省(introspection) .so 文件,但它会启动一个单独的 python shell 并通过套接字与它通信,因此,有可能有东西在那里阻塞)。

    关于eclipse - Pydev "Undefine variable from import"在 Ubuntu 上使用 pygame 而不是 Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8581712/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com