2016-11-06 91 views
1

我在Windows 10 Pro上安裝了Anaconda3-4.2.0。在安裝期間,我選擇了Anaconda來設置Path變量。我使用QT設計器創建了一個小程序,並將其保存爲hello.ui。我啓動了Windows命令提示符並將目錄更改爲保存hello.ui的位置。然後我打在提示符下輸入:C:/ Program is not recognised ... related to pyuic5

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

它給了我下面的錯誤:

'C:/Program' is not recognized as an internal or external command, operable program or batch file.

我怎樣才能解決這個問題?我的目標是從.ui文件創建一個.py文件。有沒有其他方法可以嘗試?

我試過以下內容:我在Google和計算器上搜索了這個錯誤('C:\Program' is not recognized error),並且提示在路徑變量中加入引號對我無效。還有另一個建議,重新安裝Visual Studio的Visual C++可再發行組件2015(不知道爲什麼這會有所幫助,但儘管如此,我試過了),這也沒有幫助。

下面是一些有關我的設置的相關信息。 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

蟒蛇。 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,但要確保該目錄的路徑中沒有空間。

回答

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