如何设置Poetry默认使用Python 3.12创建新项目?
解决Poetry新建项目默认使用Python 3.12的问题
核心原因
Poetry在安装时会绑定当时系统的全局Python版本,你安装Poetry时全局版本是3.10,所以默认新项目会沿用这个版本。要修改默认行为,可通过以下几种方式:
方法一:设置Poetry全局默认Python版本
先获取Python 3.12的绝对路径:
which python3.12通常输出类似
/usr/bin/python3.12执行命令设置Poetry全局默认使用该版本:
poetry env use --global /usr/bin/python3.12之后新建项目时,
pyproject.toml中的python依赖会自动设为^3.12。
方法二:配置Poetry优先使用当前全局Python
打开Poetry全局配置文件:
poetry config --editor在配置中添加或修改以下参数:
virtualenvs.prefer-active-python = true这个配置会让Poetry优先使用终端当前的全局Python版本(即你已设置的3.12),新建项目时自动匹配。
方法三:重新安装Poetry(兜底方案)
如果上述方法无效,可重新安装Poetry,让它绑定当前的Python 3.12:
curl -sSL https://install.python-poetry.org | python3.12 -
重新安装后,Poetry会默认使用Python 3.12创建新项目。
额外验证步骤
确保系统全局Python确实是3.12:
python --version python3 --version
如果输出不是3.12,可通过Ubuntu的update-alternatives调整:
# 添加Python 3.12到备选列表 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.12 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1 # 选择默认版本 sudo update-alternatives --config python sudo update-alternatives --config python3
在弹出的选项中选择Python 3.12对应的编号即可。
内容的提问来源于stack exchange,提问作者Sajid Munawar
相关产品推荐
相关产品推荐

