[这是一个后续问题这个问题。
我正在尝试使用 MikTex 中的 minted 包来格式化 Python 脚本。我收到错误
! Package minted Error: You must have `pygmentize' installed to use this package.
我认为它的意思是“pygments”,因为我在“pygmentize”上找不到任何东西。
然而,pygments是安装后,我将发行版所在的文件夹放在了 PATH 上。我注意到此文件夹中只有 Python 文件(没有 exe 文件),因此也许我应该在 PATH 上放置一些不同的东西?
我使用的路径是
C:\ProgramData\Anaconda3\Lib\site-packages\pygments
其中包含目录列表
Directory of C:\ProgramData\Anaconda3\Lib\site-packages\pygments
24/06/2021 20:26 <DIR> .
24/06/2021 20:26 <DIR> ..
07/03/2021 19:56 21,538 cmdline.py
07/03/2021 19:56 1,697 console.py
07/03/2021 19:56 1,938 filter.py
24/06/2021 20:26 <DIR> filters
07/03/2021 19:56 2,893 formatter.py
24/06/2021 20:26 <DIR> formatters
07/03/2021 19:56 31,477 lexer.py
24/06/2021 20:26 <DIR> lexers
07/03/2021 19:56 986 modeline.py
07/03/2021 19:56 1,710 plugin.py
07/03/2021 19:56 3,070 regexopt.py
07/03/2021 19:56 3,091 scanner.py
07/03/2021 19:56 4,594 sphinxext.py
07/03/2021 19:56 6,011 style.py
24/06/2021 20:26 <DIR> styles
07/03/2021 19:56 6,143 token.py
07/03/2021 19:56 63,200 unistring.py
07/03/2021 19:56 9,123 util.py
07/03/2021 19:56 3,012 __init__.py
07/03/2021 19:56 348 __main__.py
24/06/2021 20:26 <DIR> __pycache__
这是正确的目录吗?如果是,我该如何让 MikTex 识别它?
更新
根据我在这个问题上得到的评论,我取得了一些进展。我能够在目录中找到 pygmentize.exe
C:\ProgramData\Anaconda3\Scripts
将其添加到路径后,我重新运行了 MikTex,解决了
! Package minted Error: You must have `pygmentize' installed to use this package.
错误。不幸的是,这又引发了新的麻烦,最终我遇到了几个Access denied
错误。
我可以继续研究这个问题。然而,受到我收到的评论的启发,我打开了 MikTex 控制台(最初寻找 pygmentex 包,如下所述)。我没有找到这个,但我确实找到了
pythonhighlight
第一次运行没有问题,正确呈现了我的 Python 代码(这是整个练习的目标)。因此,我对遇到困难的人的建议minted
是“别费心了” - 改用pythonhighlight
其他方法!
答案1
您必须将两个文件夹添加到您的 PATH:一个包含可执行 python 的文件夹,另一个包含 pygmentize.exe 的文件夹。
就我而言,我在这个文件夹中有一个可移植的 WinPython 安装:
d:\Roberto\WPy64-31090
因此我将这两个文件夹添加到了现有的 PATH 中:
set PATH=%PATH%;d:\Roberto\WPy64-31090\python-3.10.9.amd64\;d:\Roberto\WPy64-31090\python-3.10.9.amd64\Scripts\;
Windows 10 有一个系统范围的“python”和“python3”别名,邀请您从 Windows 应用商店安装 Python。这阻止了 MikTex 调用路径中的 Python 可执行文件。我不得不在控制面板中搜索并停用它。您应该能够在“设置”-“应用”-“应用和功能”-“管理应用执行别名”下访问它。找到“python”和“python3”并停用它们。