Python升级后如何正确使用对应版本的pip、pipx和virtualenv?
Python 3.12升级常见问题解答
1. 如何使用对应版本的pip?
- Windows的PATH查找顺序是用户PATH条目优先于系统PATH,系统会先遍历用户PATH的所有路径,再查找系统PATH。你当前用户PATH已经包含Python3.12的路径,但默认仍用旧版本,大概率是终端未重启(环境变量需要重启终端才会生效)。
- 是否删除旧版本PATH项:
- 若不再使用Python3.9/3.11,直接删除系统PATH里对应的4项即可,这样终端会优先找到3.12的Python和pip。
- 若偶尔需要旧版本,无需删除,直接用指定版本的命令调用:
- 调用3.12的Python:
py -3.12 - 调用3.12的pip:
py -3.12 -m pip
- 调用3.12的Python:
- 若想让3.12成为默认且保留旧版本PATH,可把用户PATH里的Python3.12相关路径移到最顶端(不过用户PATH本身已经优先于系统PATH,重启终端后应该就会优先用3.12)。
2. 如何确保使用正确版本的virtualenv和pipx?
- pipx的定位与切换:
pipx默认安装在用户目录的Python\PythonXX\Scripts下(比如你当前用的是3.11的pipx,对应路径是C:\users\UserName\appdata\roaming\python\python311\scripts,这个路径在你的用户PATH里,所以终端能找到它)。要切换到3.12的pipx:- 先安装3.12版本的pipx:
py -3.12 -m pip install --user pipx - 将
C:\users\UserName\appdata\roaming\python\python312\scripts添加到用户PATH,并移到3.11的同类型路径前面 - 重启终端后,直接调用
pipx就是3.12版本的了
- 先安装3.12版本的pipx:
- virtualenv的定位与切换:
virtualenv是通过pip安装的,会存放在对应Python版本的Scripts目录下。要使用3.12版本的virtualenv:- 方法一:直接指定版本调用:
py -3.12 -m virtualenv - 方法二:确保默认pip是3.12版本后,执行
pip install virtualenv,将其安装到3.12环境,之后直接调用virtualenv即可
- 方法一:直接指定版本调用:
3. 升级pipx安装的工具是否有更简便的方法?
不用逐个重装,pipx自带批量切换Python版本的命令:
- 先确保已经安装了对应Python3.12的pipx(参考问题2的步骤)
- 执行命令:
pipx reinstall-all --python python3.12
这个命令会把所有pipx管理的工具(hatch、mypy、ipython等)重新安装到Python3.12的环境中,自动完成版本切换。
内容的提问来源于stack exchange,提问作者Jan
相关产品推荐
相关产品推荐

