MacOS下如何使用正确版本的Python?allennlp版本冲突求助
解决Allennlp调用错误Python版本的问题
这种情况大概率是系统环境变量优先级或者默认调用逻辑导致的,既然你不想手动修改allennlp脚本,给你几个不用改文件的实用解决方案:
方案1:直接用Python3.6的绝对路径调用allennlp模块
绕开系统默认的allennlp命令,直接指定目标Python版本来运行模块:
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3 -m allennlp
这种方式强制绑定你指定的Python3.6版本,完全不会触发Python2的调用逻辑。
方案2:调整环境变量PATH优先级
把Python3.6的bin目录放到PATH的最前端,让系统优先查找这个路径下的可执行文件:
- 打开你的shell配置文件(用bash就编辑
~/.bash_profile,用zsh就编辑~/.zshrc) - 添加以下内容:
export PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:$PATH" - 保存后执行命令更新环境变量:
# 对应你编辑的配置文件 source ~/.bash_profile
之后再运行allennlp,系统就会优先调用Python3.6版本的命令了。
方案3:使用虚拟环境(推荐)
用虚拟环境完全隔离Python版本,从根源避免全局环境的版本冲突:
- 创建Python3.6专属的虚拟环境:
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3 -m venv allennlp_env - 激活虚拟环境:
source allennlp_env/bin/activate - 在虚拟环境内重新安装allennlp:
pip install allennlp
之后每次使用allennlp前激活这个虚拟环境,就肯定是用的Python3.6版本,而且不会影响系统里的其他Python环境。
内容的提问来源于stack exchange,提问作者user1424739
相关产品推荐
相关产品推荐

