Установка pygame с помощью Poetry и Python 3.12

Я попытался установить pygame с Python 3.12 и использовать Poetry для управления зависимостями:

Список зависимостей в файле pyproject.toml:

[tool.poetry.dependencies]
python = "^3.12"
pygame = "^2.5.2"

Я запустил poetry install и получил следующую ошибку:

...
    File "/Users/r_2009/Library/Caches/pypoetry/virtualenvs/coffeeshop-It7qMoV3-py3.12/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py", line 111, in _find_eggs_in_dir
      from pip._vendor.pkg_resources import find_distributions
    File "/Users/r_2009/Library/Caches/pypoetry/virtualenvs/coffeeshop-It7qMoV3-py3.12/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2164, in <module>
      register_finder(pkgutil.ImpImporter, find_on_path)
                      ^^^^^^^^^^^^^^^^^^^
  AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?

🤔 А знаете ли вы, что...
Python поддерживает многозадачность и многопоточность.


116
1

Ответ:

Решено

Мне удалось это исправить, обновив pip до последней версии в виртуальной среде.

Виртуальная среда была создана Poetry, поэтому я вошел в оболочку:

poetry shell

а затем выполнил следующие команды:

python -m ensurepip --upgrade
pip3 install --upgrade pip
pip3 install --upgrade setuptools

При этом запускается функция модуля обеспечения pip для обновления установленной версии pip и установки последней версии pip.

После этого я смог запустить poetry install без ошибок и запустить скрипты Python.