运行 python 中的批处理文件无法识别 Imagemagick for Maya (Windows 10)

Imagemagick is not being recognized when running a batch file in python for Maya (Windows 10)

潜伏了很久的第一个问题,需要帮助的时候来这里!

首先,对于令人困惑的标题,深表歉意!我的问题很具体,不知道如何总结!

我只是想让你知道我不是程序员。我只在我用于 VFX 工作的软件环境中学习编码,即 python for Maya。

虽然我对 Maya 的 python 非常满意,但我现在正在尝试编写一个脚本(仅在 Windows 上),它需要 Maya 中没有内置的功能:

After collecting the textures paths used in the Maya scene, which I can do within python, I need to resize these images and save them as a different format

我正在考虑的方法是使用 imagemagick,一个图像编辑器 运行s 从命令提示符。我将创建一个包含 运行 命令的 .bat 文件,使用收集的纹理路径作为参数,然后我将在我的 python 脚本中调用该 .bat 文件。

到目前为止,我所做的是安装 imagemagick,并在命令提示符下测试其功能。 我还创建了批处理文件并确保它有效。 最后,我创建了一个调用此文件的 python 脚本。

这是我的批处理文件的样子:

magick convert %1  %2

magick mogrify -resize 500x500 %2

pause 

暂停一下,以便能够看到正在执行的内容。

这是我正在使用的 python 代码:

import os
os.system("C:/users/Jay/Desktop/resize.bat %s %s" %(param1, param2))

param1 和 param2 是包含纹理路径作为字符串的两个变量。

当我在 windows 上 运行 来自 "Python (command line)" 的上述代码时,它工作正常并成功完成了它的工作。

但是,当我尝试从 Maya 中 运行 相同的脚本时,出现此错误:

'magick' 未被识别为内部或外部命令, 可运行的程序或批处理文件。

Command prompt snapshot

从 Maya 中 运行ning 时无法识别 magick 的任何原因?有什么办法可以解决吗?

很抱歉问了这么长的问题!我只是想说清楚!提前谢谢你!

问题是您的 PATH 不包含包含 magick.exe 程序的目录,因此无法找到它。

要么将该目录添加到系统的 PATH 变量中 - 它曾经像 this 大约 100 年前我上次使用 Windows.

时那样完成

或者,使用批处理文件中的完整路径:

C:\PATH\TO\IMAGEMAGICK\magick.exe ...

此外,您的脚本可以简化为:

C:\PATH\TO\IMAGEMAGICK\magick.exe %1 -resize 500x500 %2