1

我在 Windows 10 Pro 上安装了 Anaconda3-4.2.0。在安装过程中,我选择了 Anaconda 来设置 Path 变量。我使用 QT 设计器创建了一个小程序并将其保存为 hello.ui。我启动了 Windows 命令提示符并将目录更改为保存 hello.ui 的位置。然后我在提示符下输入以下内容:

C:\Users\HA\Documents\Python_Scripts\GUI_Scripts> pyuic5 -x hello.ui -o hello.py

它给了我以下错误:

'C:/Program' 不是内部或外部命令、可运行程序或批处理文件。

我该如何解决这个问题?我的目标是从 .ui 文件创建一个 .py 文件。有没有我可以尝试的替代方法?

我尝试了以下方法:我在 Google 和 stackoverflow 上搜索了这个错误('C:\Program' 无法识别错误),并且在路径变量周围包含引号的建议对我不起作用。还有另一个建议为 Visual Studio 2015 重新安装 Visual C++ Redistributable(不知道为什么这会有所帮助,但尽管如此,我尝试过),但这也无济于事。

以下是有关我的设置的一些相关信息。Anaconda3、pyuic5.bat 和 pyuic.py 分别安装在以下目录中:

C:\程序文件

C:\Program Files\Anaconda3\Library\bin

C:\Program Files\Anaconda3\Lib\site-packages\PyQt5\uic

System Variables 下的 Path 变量包括以下与 Anaconda3 相关的项目:

C:\Program Files\Anaconda3;C:\Program Files\Anaconda3\Scripts;C:\Program Files\Anaconda3\Library\bin

python.exe 安装在 C:\Program Files\Anaconda3 中。但是,我可以毫无问题地运行以下命令:

C:\Users\HA\Documents\Python_Scripts\GUI_Scripts> python

'>>>

我还能尝试什么?我应该在此处包含哪些其他信息来帮助回答?

编辑:

我卸载了Anaconda3并重新安装了它,但是在重新安装的过程中,我选择了C:\Anaconda3作为安装目录。之后我能够运行:

pyuic5 -x hello.ui -o hello.py

成功生成了hello.py。这清楚地表明问题出在 C:\Program Files 中的空间。但是,为什么之前我可以在任何目录中从 Windows 命令行运行 python.exe,而 C:\Program Files 中的空间在那里没有问题?为什么它只影响pyuic5?希望有人可以为可能面临此问题的其他人提供更多信息。大多数安装 Anaconda3 的人可能会选择 Program Files 下的默认安装目录,他们将面临类似的问题。但是,对于那些根本不关心哪个目录的人,我建议将 Anaconda3 安装在一些合理的目录中,但要确保该目录的路径中没有空格。

4

1 回答 1

2

问题出在pyuic5批处理文件中:

Windows 首先调用批处理文件,在这种情况下, .bat 中pyuic.py脚本的路径没有被引号包围。如果路径不在引号中,Windows 将停止读取空格。

这就是当您将 Anaconda 重新安装到没有空格的文件夹中时问题消失的原因。

所以,一个简单的修复!使用记事本打开位于以下位置的pyuic5.bat文件:

C:\...\Anaconda3\Library\bin\pyuic5.bat

并用引号将路径括起来:

@"C:/.../Anaconda3\python.exe" -m PyQt5.uic.pyuic %1 %2 %3 %4 %5 %6 %7 %8 %9

现在该命令将起作用:

pyuic5 -x hello.ui -o hello.py

于 2017-01-17T18:06:20.430 回答