在新 Mac 上安装了 MacTex2023,一切都很顺利,除了已经安装的“pygmentize”存在一个棘手的问题。我找不到如何调整系统以识别“/Users//Library/Python/3.9/bin”文件夹中存在的已安装“pygmentize”。
我已经升级到 Python 3.11,并使用 pip3 确认已安装 Pygments 2.14.0。
我已经检查过那些讨论 Pygmentize 问题的 SE 页面,例如Pygmentize 无法在 OS X 上的 TexShop 中正确使用 minted 包
通过“pip3 list”获取其他规范:软件包版本
- altgraph 0.17.2
- 未来 0.18.2
- macholib 1.15.2
- pip 23.0.1
- Pygments 2.14.0
- 安装工具 67.6.0
- 六 1.15.0
- 轮子 0.40.0
注意:当我运行以下最小 LaTeX 包时,看到相同的错误:
\documentclass{article}
\usepackage{minted}
\begin{document}
\begin{minted}{c}
int main() {
printf("hello, world");
return 0;
}
\end{minted}
\end{document}
例如:“软件包 minted 错误:您必须安装 pygmentize 才能使用该包。”
注 2:我使用 TexShop 排版为 LaTeX。
答案1
尤里卡(我希望这会更容易,例如从这个 TeXShop 页面)。
警告:我使用 TeXShop 3.89 对此进行了测试,现在它已经是旧版本了。
要让 TeXShop--shell-escape
仅用于一个特定文档,您可以:
- 不要点击“编译”(或其他英文单词),而是转到
Macros>Claus Gerhardt Macros
然后选择pdflatexc
。它会使用标志启动编译--shell-escape
。(我通过深入研究 发现了这一点~/Library/TeXShop/bin/
)。
我尝试了很多% !TeX
变体,% !TEX TS-program="pdflatex --shell-escape"
但是这个失败了,也许有一个参数,TS-program-options
但是在上述解决方法之后我停止了搜索。
但首先您还需要 TeXShop 找到 pygmentize。
答案在https://tex.stackexchange.com/a/281188/293669这对我有用。
在我的安装中(直接安装 TeXLive),我不需要如此sudo
简单地
ln -s "$(which pygmentize)" /Library/TeX/texbin/pygmentize
在终端。
也许先执行which pygmentize
并pygmentize -V
确认它已正确安装,然后再将其符号链接到 TeXShop 找到 TeX 二进制文件的目录。以上内容应适用于基于 MacTeX 的安装。对于 (旧) Mac 上的直接 TeXLive 安装,请用
/Library/TeX/texbin/pygmentize
诸如 之类的内容 替换/usr/local/texlive/2023/bin/x86_64-darwinlegacy/pygmentize
。
答案2
可以通过使用 pip2 安装 pygments 来解决 pygmentize 问题。
sudo pip2 install pygments
此方法对我的情况很有效。
答案3
我遇到了同样的问题。我意识到这pdflatex
依赖于 Unix/Linux 命令行实用程序which
来确认是否pygmentize
可用。我没有在系统上安装它,LaTeX 编译因您上面提到的相同错误而中止:
You must have `pygmentize' installed to use this package.
就我的情况来说,安装which
解决了问题。注意不要重复我的错误。