我在Windows 10 Pro上安装了Anaconda3-4.2.0。在安装过程中,我选择了Anaconda来设置路径变量。我使用QT设计器创建了一个小程序,并将其保存为hello.ui。我启动了Windows命令提示符,并将目录更改为保存hello.ui的位置。然后,我在提示符下输入了以下内容:
C:\Users\HA\Documents\Python_Scripts\GUI_Scripts> pyuic5 -x hello.ui -o hello.py
它给了我以下错误:
“c:/ program”不被识别为内部或外部命令、可操作的程序或批处理文件。
我怎样才能解决这个问题?我的目标是从.py文件创建一个.ui文件。有别的办法我可以试试吗?
我尝试了以下几种方法:我在谷歌和堆栈溢出('C:\Program' is not recognized error)上搜索了这个错误,并且在path变量周围包含引号的建议对我无效。还有一个建议是重新安装Visual 2015的VisualC++可再发行版(不知道这有什么用,但我还是尝试过了),但这也没有帮助。
下面是一些有关我的设置的相关信息。Anaconda3、pyuic5.bat和pyuic.py分别安装在以下目录中:
C:\程序文件 C:\Program \Anaconda3 3\Library\bin C:\Program \Anaconda3 3\Lib\site-packages\PyQt5 5\uic
系统变量下的Path变量包括与Anaconda3相关的下列项:
C:\Program \Anaconda3 3;C:\Program\Anaconda3 3\脚本;C:\Program\Anaconda3 3\Library\bin
python.exe安装在C:\Program \Anaconda3 3中。然而,我可以在没有任何问题的情况下运行以下内容:
C:\Users\HA\Documents\Python_Scripts\GUI_Scripts> python '>>>
我还能做什么呢?在这里,我还应该包括哪些其他信息来帮助解答?
编辑:
我卸载并重新安装了Anaconda3,但是在重新安装过程中,我选择了C:\Anaconda3 3作为安装目录。从那以后我就能跑了:
pyuic5 -x hello.ui -o hello.py
成功地产生了hello.py。这清楚地表明问题是C:\Program中的空间。但是,为什么以前我可以在任何目录下从python.exe命令行运行,而C:\Program中的空格没有问题呢?为什么它只影响pyuic5?希望有人能为其他可能面临这一问题的人提供更多的启示。大多数安装Anaconda3的人可能会选择程序文件下的默认安装目录,他们将面临类似的问题。但是,对于那些根本不关心哪个目录的人,我建议在某个合理的目录中安装Anaconda3,但要确保该目录的路径中没有空间。
发布于 2017-01-17 18:06:20
问题在于pyuic5批处理文件:
Windows首先调用批处理文件,在本例中,pyuic.py脚本在.bat中的路径不被引号包围。如果路径不在引号中,则窗口将停止在该空间读取。
这就是为什么当您将Anaconda重新安装到没有空格的文件夹中时,问题就消失了。
所以,一个简单的修复代替!用记事本打开pyuic5.bat文件,该文件位于:
C:.\Anaconda3 3\Library\bin\pyuic5.bat
并用引号环绕路径:
@“C://Anaconda3 3\python.exe”-m PyQt5.uic.pyuic %1 %2 %3 %4 %5 %6 %7 %8 %9
现在,该命令将起作用:
pyuic5 -x hello.ui -o hello.py
https://stackoverflow.com/questions/40446572
复制相似问题