我在Windows 10 Pro上安装了Anaconda3-4.2.0。在安装过程中,我选择了Anaconda来设置Path变量。我使用QT设计器创建了一个小程序并将其保存为hello.ui。我启动了Windows命令提示符并将目录更改为保存hello.ui的位置。然后我在提示符下键入以下内容:
C:\用户\ HA \文件\ Python_Scripts \ GUI_Scripts> pyuic5 -x hello.ui -o hello.py
它给了我以下错误:
'C:/ Program'不被识别为内部或外部命令,可操作程序或批处理文件。
如何解决此问题?我的目标是从.ui文件创建一个.py文件。有没有我可以尝试的替代方案?
我尝试过以下操作:我在Google和stackoverflow('C:\Program' is not recognized error)上搜索此错误,并且在路径变量周围包含引号的建议对我不起作用。还有另一个建议是为Visual Studio 2015重新安装Visual C ++ Redistributable(不知道为什么这会有所帮助,但是,尽管如此,我试过了),这也没有帮助。
以下是有关我的设置的一些相关信息。 Anaconda3,pyuic5.bat和pyuic.py分别安装在以下目录中:
C:\ Program Files
C:\ Program Files \ Anaconda3 \ Library \ bin
C:\ Program Files \ Anaconda3 \ Lib \ site-packages \ PyQt5 \ uic
系统变量下的Path变量包括以下与Anaconda3相关的项目:
C:\ Program Files \ Anaconda3; C:\ Program Files \ Anaconda3 \ Scripts; C:\ Program Files \ Anaconda3 \ Library \ bin
python.exe安装在C:\ Program Files \ Anaconda3中。但是,我可以毫无问题地运行以下内容:
C:\用户\ HA \文件\ Python_Scripts \ GUI_Scripts>蟒
'>>>
我还能尝试什么?我应该在这里提供哪些其他信息来帮助解答?
编辑:
我卸载了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,但要确保该目录的路径中没有空间。
答案 0 :(得分:2)
问题在于 pyuic5 批处理文件:
Windows首先调用批处理文件,在这种情况下,.bat中 pyuic.py 脚本的路径不会被引号括起来。 如果路径不在引号中,Windows将停止在该空间读取。
这就是为什么当你将Anaconda重新安装到没有空格的文件夹时问题就消失了。
所以,一个简单的修复!使用记事本打开位于以下位置的 pyuic5.bat 文件:
C:\ ... \ Anaconda3 \库\ 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