Virtualenv 找不到新安装的 Python 版本

Joh*_*aly 5 python ubuntu virtualenv python-3.10

我正在运行 Ubuntu 20.04,我想使用 Python 3.10 启动一个项目。我使用了 Python 3.10 的安装指南(这个),使用 deadsnakes PPA 安装它,这很好:

$ python3.10
Python 3.10.5 (main, Jun 11 2022, 16:53:24) [GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
Run Code Online (Sandbox Code Playgroud)

为了更好的衡量,我什至将我的默认 python 切换到 3.10,使用this,这也有效。

$ python
Python 3.10.5 (main, Jun 11 2022, 16:53:24) [GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
Run Code Online (Sandbox Code Playgroud)

但我无法构建虚拟环境:

$ virtualenv myenv -p python3.10         
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.10'
Run Code Online (Sandbox Code Playgroud)

如果我尝试依赖默认值,它会给我 python3.8。我之前一直在使用python3.8,但我不知道这个设置是从哪里来的。Pyenv 已安装,我不知道这是否会干扰。

$ virtualenv myenv                                                                                                
created virtual environment CPython3.8.10.final.0-64 in 110ms
  creator CPython3Posix(dest=/home/jokea/FlorA/fl-scraper/myenv, clear=False, global=False)
  seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, pkg_resources=latest, via=copy, app_data_dir=/home/jokea/.local/share/virtualenv/seed-app-data/v1.0.1.debian.1)
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
Run Code Online (Sandbox Code Playgroud)

我只想用Python3.10做一个virtualenv。我可能会错过什么?

小智 7

我在安装新的 python3.7 时遇到了同样的问题。我设法通过安装来修复它distutils

sudo apt-get install python3.7-distutils 
Run Code Online (Sandbox Code Playgroud)