#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