codex cli 默认使用系统 path 中首个 python3,需通过 pyenv 临时激活、python_executable 环境变量指定或创建专用虚拟环境,确保其调用目标 python 版本(如 3.11)而非默认版本。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想在终端里用 Codex CLI 处理不同 Python 版本的项目(比如一个用 3.9,另一个必须跑在 3.11),但默认它只认系统 PATH 里的第一个 python,导致生成或调试代码时版本错乱、包报错、甚至 pip install 失败——必须让 Codex 明确知道该用哪个 Python 解释器。
确认当前 Codex 使用的 Python 版本
在终端运行 codex --version 后,Codex CLI 会自动检测并绑定当前环境的 Python。但这个“当前环境”不一定是你项目需要的版本。先验证它实际调用的是谁:
执行 which python3(macOS/Linux)或 where python(Windows PowerShell),看输出路径是否匹配你的目标版本。
如果输出是 /usr/bin/python3 或 C:\Python39\python.exe,而你需要的是 3.11,说明 Codex 正在用旧版本——不能直接改系统默认 Python,否则可能破坏其他工具链。
方法一:用 pyenv 管理多版本并临时激活
① 确保已安装 pyenv(macOS/Linux)或 pyenv-win(Windows):
macOS 执行 brew install pyenv;Windows 在 PowerShell 中运行 Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"。
② 安装目标 Python 版本(例如 3.11.9):pyenv install 3.11.9 → pyenv global 3.11.9(全局生效)或 pyenv local 3.11.9(仅当前目录生效)。
③ 进入项目根目录后,执行 pyenv local 3.11.9,再运行 codex。【Codex 会自动读取 .python-version 文件并使用对应解释器,无需额外配置】
方法二:通过环境变量强制指定 Python 路径
方法一依赖 pyenv,若你已在用 conda 或虚拟环境,更直接的方式是绕过自动探测:
在项目目录下启动 Codex 前,先设置环境变量:
macOS/Linux:export PYTHON_EXECUTABLE=/opt/homebrew/opt/python@3.11/bin/python3.11
Windows PowerShell:$env:PYTHON_EXECUTABLE="C:\Users\name\AppData\Local\Programs\Python\Python311\python.exe"
然后直接运行 codex。Codex CLI 启动时会优先检查 PYTHON_EXECUTABLE 变量,找到就跳过自动查找步骤。
注意:此变量只对当前终端会话有效,关闭窗口即失效。不要写进系统级环境变量,否则会影响其他工具。
方法三:为 Codex 创建专用虚拟环境
这一步最干净,尤其适合隔离敏感项目:
进入项目目录 → 运行 python3.11 -m venv .codex-env → 激活:
macOS/Linux:source .codex-env/bin/activate
Windows:.codex-env\Scripts\Activate.ps1(需先执行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser)。
激活后,which python 输出就是虚拟环境路径,此时再运行 codex,它将天然使用该环境中的 Python 和 pip。【务必在激活状态下启动 Codex,否则它仍走系统默认路径】
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











