Разве Python 3.10 не поддерживает pygame?
Я только что установил бета-версию
Python 3.10
, открыл VS Code, изменил Python Interpreter на Python 3.10 64 bit (мой компьютер работает с 64 bit) и смог продолжить работу над проектом Pygame.
Тем не менее, когда я запускал код, я столкнулся с
ModuleNotFoundError
при этом сказано: нет модуля с именем Pygame.(хотя модуль pygame установлен отлично)
Так было ли это из-за бета-версии Python? если да, то разве нет способов работать с pygame и python3.10 одновременно?
4 ответа
Я думаю, это может быть проблема совместимости.
pip3.9 install pygame
работает нормально.
pip3.10 install pygame
возвращает множество ошибок. Некоторые из них были ошибками pip / pygame, связанными с колесами и зависимостями. Поэтому я клонировал исходный репозиторий pygame локально и попытался собрать его из исходников.
python3.9 setup.py build;
python3.9 setup.py install
работает как положено.
python3.10 setup.py build;
python3.10 setup.py install
достигает критического предела в 20 ошибок и решает, что это сделано. Я пробовал различные обходные пути и решения, которые работали для более старых версий pygame и python, но, к сожалению, ничего не сработало, поэтому я думаю, что это действительно проблема совместимости, и нам придется подождать, пока pygame обновится, чтобы работать с Python 3.10.
Для пользователей MAC
Установщик Python 3.10 является универсальным, то есть по умолчанию он запускает версию Python 3.10 для ARM64. Поскольку Pygame еще не обновлен для работы на ARM64, вам необходимо запустить Python 3.10 в Rosetta, чтобы сделать это с помощью команды использования оболочки: python3-intel64
import pygame будет нормально работать с Python 3.10
Чтобы использовать это в VS Code, вам нужно изменить файл settings.json на:
"python.defaultInterpreterPath": "/usr / local / bin / python3-intel64"
Затем выберите переводчик в редакторе.
Если
pip install pygame
с python 3.10 выдает ошибки, вы всегда можете попробовать еще раз, установив с помощью файла .whl с этого веб-сайта: https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame
Установка, вероятно, будет выглядеть так:
pip install {path-to-whl-file}/pygame-2.0.1-cp310-cp310-win_amd64.whl
Я столкнулся с той же проблемой, и VSCode действительно объясняет, что происходит, и благодаря @Edster я смог ее решить.
TL:DR: Установите другое значение и сбросьте его до
Описание опции, упомянутой Эдстером:
Путь к Python по умолчанию для использования при первой загрузке расширения, больше не используется после выбора интерпретатора для рабочей области. См. https://aka.ms/AAfekmf , чтобы понять, когда это используется.
И когда вы переходите по ссылке, важная информация:
Изменения в python.defaultInterpreterPath не будут приняты расширением Python, если пользователь явно выберет другой интерпретатор для рабочей области. Расширение также не будет устанавливать или изменять значение этого параметра, оно будет только считывать его.
В моем случае проект был загружен с использованием неверсионной символической ссылки Python, указывающей на 3.9, а затем я загрузил 3.10 и обновил свой PATH, чтобы он указывал на 3.10, но когда я это сделал, поскольку значение не изменилось в коде VS, оно не изменилось. не пытайтесь поднять его снова.
Мои предположения таковы
- Изменение его на другое значение и сброс значения на
исправил проблему для меня, но я предполагаю, что если вы просто отключите/включите расширение Python в VSCode, оно должно работать.
Отказ от ответственности: это всего лишь предположения, и я не пробовал их со своей стороны, не стесняйтесь комментировать здесь результат, если вы попробуете это, или если у вас есть что добавить.