Проблема с установкой PySDL2 в Windows. (Ошибка модуля отсутствует)

#python #importerror #pysdl2

#python #ошибка импорта #pysdl2

Вопрос:

Итак, я попытался установить pySDL2 только сейчас, но я продолжаю получать сообщение об ошибке с указанием:

 No module named 'sdl2.util'
 

Я следовал инструкциям с веб-сайта, поэтому понятия не имею, почему это не работает. И я не вижу, чтобы кто-нибудь еще спрашивал об этом.

1: Я скачал: «PySDL2-0.9.2.zip » от BitBucket.

2: Я разархивировал папку и переместил содержимое.

3: Я зашел в свою командную строку, а затем перешел в каталог, содержащий setup.py

4: Я набрал (как указано в инструкциях): python setup.py install

5: Установка, похоже, прошла нормально, и как только мне была возвращена командная строка, я закрыл ее.

6: Перешел в папку Examples и попытался запустить пример:

Ошибка импорта: нет модуля с именем ‘sdl2.util’

Затем я попытался импортировать sdl2, что привело к той же ошибке. Кто-нибудь может сказать мне, почему я получаю эти ошибки? Или что я, возможно, сделал неправильно? Я не знаю, что еще предоставить в качестве информации. Я действительно выполнил только пару шагов, и по какой-то причине я не могу получить доступ к SDL2 из python. .


[Обновление]

Таким образом, ошибка sdl2.util теперь удалена. Я установил требуемую DLL для SDL2 в DLLs папку Python33. Затем я попытался установить переменную среды для DLL в ее местоположение. (Чтобы я перестал получать ошибки, касающиеся отсутствующей библиотеки и т. Д.). На самом деле это не устраняет проблему. В руководстве четко указано, что эта команда должна быть запущена из командной строки, чтобы решить мою проблему:

установите PYSDL2_DLL_PATH=C:pathtofancy_project third_party

Затем я изменил это, чтобы указать местоположение файла DLL:

установите PYSDL2_DLL_PATH=C: Python33 Dll

Все хорошо, верно? Нет. По какой-то причине это просто не работает. Каждый раз, когда я хочу запустить пример, мне нужно постоянно устанавливать переменную среды как таковую:

 os.environ["PYSDL2_DLL_PATH"] = "C:\Python33DLLs"
 

Если я не включаю это, я получаю следующую ошибку:

 RuntimeError: could not find any library for SDL2 (PYSDL2_DLL_PATH: unset)
 

Может показаться, что моя переменная среды не установлена, но почему это так, я не знаю. Я пытался установить его несколько раз и перезапустил один раз. Тем не менее, это сохраняется. Если кто-нибудь может помочь, это было бы здорово.

Ответ №1:

Сначала я запускаю команду: python setup.py затем создайте: python setup.py установите и загрузите DLL-файл с именем SDL2.dll положите его под папку :C:WindowsSystem32 Это работает для меня, чтобы запустить пример кода.Надеюсь, это поможет!

Комментарии:

1. Я выполнил все эти шаги. Но я все равно получаю то же сообщение об ошибке.

2. Хорошо, что вам на самом деле нужно было сделать с файлом DLL, так это поместить его куда-нибудь, а затем настроить переменную среды так, чтобы она указывала на его папку (местоположение). На самом деле это, похоже, не работает, если не задано вручную в каждом файле python, с которым вы собираетесь использовать SDL2. Я более подробно описал проблему выше в моем отредактированном вопросе.

Ответ №2:

Создание переменной среды для Windows со следующими параметрами:

Имя переменной: PYSDL2_DLL_PATH

Значение переменной: PATH_TO_THE_DLL_FILE_LOCATION

Исправлена проблема.

Использование команды Windows set , по-видимому, носит временный характер.

Ответ №3:

Другой способ — установить эти требования, как указано в https://github.com/marcusva/py-sdl2#requirements

 pip install PySDL2
pip install pysdl2-dll