安装Python 3.12.3后,创建venv失败

问题描述 投票:0回答:1

我刚刚安装了新版本的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 也会发生同样的事情:

我尝试使用 Python 3.9 在 venv 上进行升级:

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
1个回答
0
投票

如果 PYTHONHOME 指向另一个 python 解释器的路径,则环境中的该路径用于查找标准库。由于 api 不匹配、可能添加和弃用,您所描述的问题可能并且将会发生。

建议,确保 PYTHONHOME 设置正确取消设置。

© www.soinside.com 2019 - 2024. All rights reserved.