Top.Mail.Ru
Ответы

Ошибка в Python Pygame

только сегодня скачал Pycharm, выдает ошибку attributeerror: module pygame has no attribute init, скрипт называется Main.py, библиотеку pygame уже переустанавливал, ничего не изменилось. Помогите пж.

По дате
По рейтингу
Аватар пользователя
2мес
Изменено

Ошибка AttributeError: module 'pygame' has no attribute 'init' почти всегда означает, что импортируется не “настоящий” pygame, а какой-то другой модуль/папка с именем pygame, либо в окружении сломалась установка (часто из-за “смешивания” pygame и pygame-ce). Функция pygame.init() вообще-то должна быть в верхнем модуле.

1) Быстрая диагностика: откуда реально импортируется pygame

Вставь в самый верх Main.py и запусти:

123456
import pygame

print("pygame =", pygame)
print("pygame.__file__ =", getattr(pygame, "__file__", None))
print("pygame.__path__ =", getattr(pygame, "__path__", None))

Как понять результат:

  • Если pygame.__file__ указывает на твой проект (например, рядом с Main.py) — значит в проекте есть файл/папка pygame, который “перекрывает” библиотеку. Очень частая причина: файл pygame.py или папка pygame. Решение: переименовать/удалить этот файл/папку + удалить __pycache__.

  • Если pygame.__file__ выводит None — это похоже на namespace package: где-то лежит папка pygame без __init__.py (часто после кривой установки/удаления). В обсуждении советуют смотреть pygame.__path__ чтобы найти “лишнюю” папку и затем переустановить, убедившись что не установлены одновременно pygame и pygame-ce.

2) Проверь интерпретатор PyCharm (самая частая причина после “переустановил, но не помогло”)

В PyCharm у проекта может быть свой venv. Важно, чтобы pygame был установлен именно в том интерпретаторе, которым запускается проект.

  • File → Settings → Project → Python Interpreter (или через выбор интерпретатора внизу справа).

Дальше открой Terminal внутри PyCharm и выполни:

123
python -m pip show pygame
python -m pip show pygame-ce

Если show ничего не находит — значит ставил не туда.

3) “Чистая” переустановка (особенно если ставил и pygame, и pygame-ce)

В терминале PyCharm (важно!) сделай так:

1234
python -m pip uninstall -y pygame pygame-ce
python -m pip install -U pip
python -m pip install pygame

И проверь, что остался только один пакет (либо pygame, либо pygame-ce, но не оба).

Если после uninstall всё равно pygame.__file__ = None, значит в site-packages осталась папка pygame без __init__.py — её нужно найти по pygame.__path__ и удалить вручную, затем снова pip install pygame.

Если после шагов 1–3 всё ещё ошибка — пришли сюда вывод трёх строк:

  • pygame.__file__

  • pygame.__path__

  • и какой интерпретатор выбран в PyCharm (путь к Python из Settings → Python Interpreter)

По этому сразу станет видно, что именно “подменяет” pygame.

Аватар пользователя
Ученик
3мес

Проверьте, нет ли в папке вашего проекта файла с названием pygame.py. Из-за такого имени скрипт пытается импортировать сам себя вместо настоящей библиотеки — просто переименуйте этот файл. Для поиска подобных ошибок в коде удобно использовать Дипсик — deepseek-ai.ru, нейросеть быстро объясняет причины конфликтов.

Аватар пользователя
Мыслитель
3мес

а чем помочь? винду переустанови

Аватар пользователя
Ученик
3мес

действительно



Видео по теме