使用pex构建的pex无法在虚拟环境外运行的问题求助
问题解决:PEX在虚拟环境外运行报错
env: python3.9: No such file or directory 问题原因
你在虚拟环境内构建PEX时,工具默认绑定了当前venv中的Python 3.9解释器路径。退出venv后,系统PATH中找不到python3.9可执行文件(或系统未安装对应版本Python),因此触发报错。
解决方案
方法1:构建时指定系统级Python解释器
重新构建PEX,通过--python参数指定系统中可用的Python版本(比如python3),让PEX使用系统全局的Python运行:
pex pex requests -c pex -o ~/bin/pex --python python3
如果系统中存在明确的版本路径(比如/usr/bin/python3.9),也可以直接指定该路径:
pex pex requests -c pex -o ~/bin/pex --python /usr/bin/python3.9
方法2:确保系统PATH中存在python3.9
若系统已安装Python 3.9但不在当前PATH中,可将其所在目录添加到PATH:
export PATH="/path/to/python3.9/bin:$PATH"
注:此方法通用性弱于方法1,优先推荐方法1。
验证
重新构建后退出虚拟环境,直接运行~/bin/pex即可正常启动交互式环境。
内容的提问来源于stack exchange,提问作者Marcello Romani
相关产品推荐
相关产品推荐

