You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让virtualenv运行Python 3而非Python 2.7?(Mac环境)

解决Virtualenv默认使用Python2.7而非3.6的问题

我来帮你搞定这个头疼的版本问题!你的情况其实很常见,核心原因是你的virtualenv工具本身关联的是Python2.7——哪怕系统PATH里/usr/local/bin优先级更高,它还是会用自己绑定的Python版本来创建虚拟环境。下面给你几个直接有效的解决办法:

方法一:创建虚拟环境时直接指定Python3.6路径

这是最直接的临时解决方案,不用改动现有工具,每次创建环境时明确指定要用的Python版本:

virtualenv -p /usr/local/bin/python venv

执行完这个命令再激活环境:

source venv/bin/activate

此时再跑python --version,就会显示3.6版本了。

方法二:安装Python3.6专属的Virtualenv

如果不想每次都加-p参数,可以把默认的virtualenv换成Python3.6版本的:

  1. 先卸载当前关联Python2.7的virtualenv(如果是通过pip安装的):
pip uninstall virtualenv
  1. 用Python3.6的pip来安装virtualenv:
pip3 install virtualenv

安装完成后,再执行which virtualenv,应该会显示路径在/usr/local/bin下。这时候直接创建环境:

virtualenv venv

激活后默认就是Python3.6了。

方法三:用Python3自带的venv模块(更推荐)

Python3.3+自带了venv模块,不需要额外安装virtualenv,用法更简洁:

python3 -m venv venv

激活环境后同样会使用Python3.6版本,而且避免了不同版本virtualenv的冲突问题。

补充说明

为什么之前会出现PATH优先级高但virtualenv还是用2.7的情况?因为如果你的virtualenv是通过Python2.7的pip安装的,它会硬关联到/usr/bin/python(也就是2.7),运行时不会去读你的PATH找优先级更高的Python版本。所以要么指定路径,要么换用Python3的virtualenv/venv就可以解决啦。

内容的提问来源于stack exchange,提问作者JeffGallant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:18:48