Разве 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, оно должно работать.

Отказ от ответственности: это всего лишь предположения, и я не пробовал их со своей стороны, не стесняйтесь комментировать здесь результат, если вы попробуете это, или если у вас есть что добавить.

Другие вопросы по тегам