Я только что установил новую версию Python.
Он установился правильно:
C:\Development\pythontest>python --version
Python 3.12.3
Когда я пытаюсь создать новый venv, он терпит неудачу:
C:\Development\pythontest>python -m venv myvenv
Could not import runpy module
Traceback (most recent call last):
File "<frozen runpy>", line 15, in <module>
File "<frozen importlib.util>", line 2, in <module>
ModuleNotFoundError: No module named 'importlib._abc'
У меня на компьютере установлена более старая версия (3.9), которая работает нормально. Не уверен, что с этим случилось. Как вы можете видеть по первой команде, я изменил путь, чтобы знать, что он вызывает версию 3.12.3.
Работает:
C:\Users\linda\AppData\Local\Programs\Python\Python39\python.exe -m venv myenv
Не работает:
C:\Users\linda\AppData\Local\Programs\Python\Python312\python.exe -m venv myenv
Could not import runpy module
Traceback (most recent call last):
File "<frozen runpy>", line 15, in <module>
File "<frozen importlib.util>", line 2, in <module>
ModuleNotFoundError: No module named 'importlib._abc'
То же самое происходит через PyCharm:
Я попытался обновить venv с помощью Python 3.9:
C:\Development\pythonsucks>python -m myenv --upgrade m2
Could not import runpy module
Traceback (most recent call last):
File "<frozen runpy>", line 15, in <module>
File "<frozen importlib.util>", line 2, in <module>
ModuleNotFoundError: No module named 'importlib._abc'
Программа запуска Python:
C:\Development\pythonsucks>"C:\Program Files\Python312\python.exe" -m venv myenv
Could not import runpy module
Traceback (most recent call last):
File "<frozen runpy>", line 15, in <module>
File "<frozen importlib.util>", line 2, in <module>
ModuleNotFoundError: No module named 'importlib._abc'
C:\Development\pythonsucks>py --version
Python 3.12.3
C:\Development\pythonsucks>py -0p
-V:3.12 * C:\Program Files\Python312\python.exe
-V:3.9 C:\Users\linda\AppData\Local\Programs\Python\Python39\python.exe
C:\Development\pythonsucks>py -m venv test
Could not import runpy module
Traceback (most recent call last):
File "<frozen runpy>", line 15, in <module>
File "<frozen importlib.util>", line 2, in <module>
ModuleNotFoundError: No module named 'importlib._abc'
Я начинаю думать, что в 3.12 что-то сломано.
Вы пробовали переустановить Python?
Я попробовал его восстановить и переустановить. Без изменений. Единственная рабочая версия - 3.9.
случайно. у вас определена переменная env PYTHONPATH?
У меня есть PYTHONHOME
PYTHONHOME повлияет на то, откуда загружается стандартная библиотека, и если он указывает на неправильную версию, это, вероятно, может быть причиной вашей проблемы.
да, ты понял. хочу ответить на вопрос, я приму его.






Если у вас есть PYTHONHOME, указывающий на путь другого интерпретатора Python, этот путь из среды используется для поиска стандартных библиотек. Из-за несоответствия API, возможных дополнений и устареваний описанная вами проблема может и произойдет.
Предложения: убедитесь, что PYTHONHOME установлен правильно, или отключите его.
я удалил его :) IIR, это потребовалось решению DaVinci для доступа к внутреннему API. я тестировал его давным-давно и совсем забыл об этом.
Ну, это отлично работает на Mac.