为什么可执行文件和启动脚本都未找到,尽管已添加到PATH中

1 投票
1 回答
1328 浏览
提问于 2025-04-16 21:56

我按照说明安装了 pygmentize,目的是在 LaTeX 环境中使用语法高亮,但 TexMaker 总是报错,说找不到 pygmentize。于是我试着在命令提示符下直接运行这个 .cmd 文件,系统显示:

C:\Python27\Scripts>pygmentize.cmd
C:\Python27\python.exe: can't open file 'C:\Python27\Scripts\pygmentize': [Errno
 2] No such file or directory

我为两个目录添加了路径变量:C:\Python27C:\Python27\Scripts。在 C:\Python27\Scripts 目录下,有两个文件:

  1. pygmentize.exe
  2. pygmentize.cmd

pygmentize.cmd 文件的内容如下:

@echo off
set PYTHONPATH=C:\Python27
%PYTHONPATH%\python.exe %PYTHONPATH%\Scripts\pygmentize %*

原来的说明中在 %PYTHONPATH% 后面没有加 \,我加上这个是因为我发现错误信息有点奇怪,显示的是 C:\Python27Scripts\python.exe。我的问题是,为什么 Tex 系统不识别可执行文件 pygmentize?我根据一个 Stack Overflow 的帖子,添加了一行:

\newcommand\TestAppExists[3]{#2}

在我的 .tex 文件中,这个方法只在 Ubuntu 下有效。那么,这个 .cmd 文件在这种情况下有什么用呢?

1 个回答

1

cmd.exe 在选择要执行的 pygmentize 时,会优先选择 .exe 文件,而不是 .cmd 文件,其他条件相同的情况下。python.exe 则不会做任何特别的处理,它不会知道 C:\Python27\Scripts\pygmentize 是什么,除非这个路径下有一个完全相同名字的文件存在。

撰写回答