Mac已安装Python3 运行PythonTeX为何调用Python2版本并报错
问题1:默认Python版本为3.7却运行pythontex2的原因
2021版TeX Live自带的pythontex启动脚本内置了Python版本检测逻辑,默认会优先调用系统级的python命令(对应Python2.x版本)而非用户环境配置的默认Python3。M1芯片的MacOS默认保留了系统级的Python2.7环境,只要脚本检测到存在Python2环境,就会自动加载pythontex2.py运行,和你用户层配置的默认Python3版本无关。
问题2:提示找不到pygments模块的原因
你安装的pygments包是安装在Python3.7的依赖库目录下的,而当前pythontex调用的是Python2运行环境,Python2环境下没有安装pygments包,自然会抛出模块找不到的报错。
可行的解决方法
- 临时方案:每次运行时强制指定Python3执行,命令改为
python3 $(which pythontex) 你的tex文件名 - 永久方案:编辑
/Library/TeX/texbin/pythontex启动脚本,把版本检测逻辑中优先调用Python2的规则改为优先调用Python3,或者直接把脚本头部的shebang改为#!/usr/bin/env python3 - 不推荐方案:如果你一定要用Python2运行
pythontex,可以给Python2环境安装pygments,命令为python2 -m pip install pygments
内容的提问来源于stack exchange,提问作者Mario Vago Marzal
相关产品推荐
相关产品推荐

