В двух словах
В Ubuntu 11.10 для библиотеки pygame pydev сообщает "неопределенные переменные из импорта".На Windows 7 все нормально.На обеих платформах код работает правильно.
Это та же ошибка, что и этой нити (и связка из других).Удаление и повторное добавление моего переводчика ничего не изменило.Я также попытался включить pygame в качестве принудительной встроенной библиотеки, но это ничего не изменило (я проверил, что pygame был в системе PYTHONPATH).
Configs
В Ubuntu и Windows,Я использую Eclipse Indigo и Python 3.2.
В Ubuntu я использую:
- Ubuntu 11.10
- Pygame 1.9.2pre, скомпилированный из pygame HgСделки рЕПО.После сборки и установки папка site-packages / pygame содержит несколько файлов .so и .py.
В Windows7:
- Windows 7 pro с SP1
- Pygame 1.9.2pre из lfd.uci.edu .MSI создал несколько файлов .pyd и .py в папке site-packages / pygame.
Я понимаю, что статический анализ не может идти внутрь .so файлов в Ubuntu.Я также понимаю, что Python - это динамический язык.Следовательно, у pydev есть ограничения, присущие статическому анализу.Но pydev в Windows 7 удается связать классы внутри файлов .pyd, которые являются динамическими библиотеками.Зачем?И как я могу заставить его работать в Ubuntu?
Подсказки?
import pygame
from pygame.locals import *
С помощью приведенного выше кода в Ubuntu я могу нажать ctrl (или f3) в пакете pygame, но нена pygame.locals.В Windows я могу перейти к обоим.
import pygame
import pygame.locals
from pygame.locals import *
Теперь я могу перейти к pygame.locals.Я думаю, это помогло pydev выяснить, что «ожидать», так как locals.py действительно существует в папке site-packages / pygame.Но я не хочу менять весь мой код только для того, чтобы соответствовать pydev
В любом случае, строка ниже по-прежнему вызывает «неопределенную переменную из импорта» в Ubuntu, но не в Windows.
except pygame.error:
PS: Если это поможет, у меня есть 64-битный Lenovo T410и установил все на 64 бита.