Appearance
Codex Conda Wrapper 配置记录
视频教程
一、 目标说明
我的目标是实现在终端直接输入 codex 时,能自动进入 codex 的 conda 环境并启动程序。这是因为 Codex App 默认会寻找特定路径下的执行文件。
WARNING
网络要求:环境变量中必须配置可用的 http_proxy 和 https_proxy,否则在认证登录步骤时会卡住,报错403。
二、 初始化与清理
为了确保不冲突,我们从头开始创建环境并清理可能存在的旧配置。
Shell
# 如无conda 则先装conda
# conda 一键安装 这是一行代码
wget -qO- http://iyun70.com:8011/softs/conda_install.sh | bash1. 创建环境并安装 Codex
使用 mamba 创建专用的 conda 环境并安装所需的依赖:
bash
mamba create -n codex python=3.10 nodejs -c conda-forge -y
conda activate codex
# 如网络慢则镜像安装
npm install -g @openai/codex --registry=https://registry.npmmirror.com
# 官方源
npm install -g @openai/codex2. 清除旧 wrapper 和 PATH 配置
为了设置全局调用,先清理旧的错误配置(之前可能不小心将 command -v codex 写入了 wrapper 导致死循环):
删除之前写错的 wrapper 脚本:
bash
rm -f ~/bin/codex从 ~/.bashrc 里清理掉之前添加的 PATH:
bash
sed -i '/export PATH="\$HOME\/bin:\$HOME\/.local\/bin:\$PATH"/d' ~/.bashrc
source ~/.bashrc三、 重新配置正确的 Wrapper
1. 找到真实的 Codex 路径
先进入环境确认真实路径,避免再次填错:
bash
conda activate codex
echo "$CONDA_PREFIX/bin/codex"输出的 $CONDA_PREFIX/bin/codex 才是真实的程序路径。必须在脚本里使用这个绝对路径,而不是依赖 command -v。
2. 编写新的 wrapper 脚本
新建并写入 ~/bin/codex 脚本:
bash
mkdir -p ~/bin
cat > ~/bin/codex <<'EOF'
#!/usr/bin/env bash
set -e
# 获取 conda 基础路径并加载
CONDA_BASE="$(conda info --base)"
source "$CONDA_BASE/etc/profile.d/conda.sh"
# 自动激活环境并执行真实命令
conda activate codex
exec "$CONDA_PREFIX/bin/codex" "$@"
EOF赋予执行权限:
bash
chmod +x ~/bin/codex3. 配置环境变量
确保 ~/bin 位于 PATH 的最前面:
bash
# 写入环境变量配置
grep -q 'HOME/bin' ~/.bashrc 2>/dev/null || sed -i '1iexport PATH="$HOME/bin:$HOME/.local/bin:$PATH"' ~/.bashrc
# 使配置立即生效
source ~/.bashrc
hash -r四、 验证结果
退出当前的 conda 环境,直接用普通环境测试是否生效:
bash
conda deactivate查看 codex 指向的路径和版本信息:
bash
which codex
# 预期输出: ~/bin/codex (或者是展开后的绝对路径)
codex --version
# 预期输出当前安装的 Codex 版本号启动与登录
最后,直接启动试试。根据您的系统情况,以下两条指令哪条能成功唤起登录就用哪条:
第一次启动需要使用 device code 进行设备验证登录:
bash
codex或者使用专门的登录参数:
bash
codex login --device-auth如果能正常弹出 Codex 的交互界面或登录提示,说明 wrapper 配置大功告成!以后直接敲 codex 即可愉快使用了。
