2014-10-28 34 views
0

我試圖用Windows設置Canopy,以便默認情況下它不會嘗試打開爲GUI。基本上我想做到這一點:嘗試在Windows 7上使用Enthought Canopy Python直接運行.py文件

http://docs.enthought.com/canopy/configure/canopy-cli.html#create-epd-dist

唯一的問題是,這裏列出的說明似乎並不如預期的工作。

這是我想要發生的事情。我有一個充滿腳本的文件夾。該文件夾(my_program /)在我的路徑中。我想從任何目錄的命令行調用script_1.py並讓它執行。隨着老Enthought分佈這是發生了什麼。 Canopy也是Mac上發生的事情。但是,在Windows上運行Canopy,而不是Canopy GUI彈出,並打開script_1.py進行編輯。

我跑這個命令的文檔:

Canopy\App\Canopy_cli.exe setup C:\Python27 --set-default 

它除了常規的命令提示符創建了一個「天幕64位(獨立)命令提示符」。但是,此新命令提示符和常規命令提示符中的行爲仍然相同 - script_1.py只是打開Canopy GUI。

這裏是我的PATH變量:

c:\python27\scripts; 
c:\users\****\appdata\local\enthought\canopy\user\scripts; 
C:\Users\****\AppData\Local\Enthought\Canopy\User; 
C:\Users\****\AppData\Local\Enthought\Canopy\User\Scripts; 
C:\Python27; 
C:\Python27\Scripts; 
C:\Users\****\Documents\my_program; 

任何想法,爲什麼我不能設置雨棚作爲EPD般的環境,或該怎麼辦呢?謝謝!

更新:

首先,我跑這個命令喬納森三月在他的回答中概述:

ftype Python.File=c:\Users\**\AppData\Local\enthought\Canopy\User\Scripts\python.exe %1 

然而,這種行爲仍然是相同的。以上結果是解決方案的一半。

幸運的是,我能夠使用註冊表編輯器工作。我必須通過將默認值從「Enthought.Canopy」更改爲「Python.File」來編輯Computer \ HKEY_CLASSES_ROOT.py。我還通過刪除「Enthought.Canopy」鍵並添加一個「Python.File」鍵來更改Computer \ HKEY_CLASSES_ROOT.py \ OpenWithProgIds。

我真的很高興它能夠正常工作,但是對於我的軟件的Windows用戶來說,使用註冊表編碼是一項艱鉅的任務。現在我想知道,是否有更簡單的方法來做到這一點,或許在安裝腳本中,將我的命令行腳本文件夾放入其路徑中?任何想法都表示讚賞。

回答

0

對不起,我感到困惑 - 「類EPD」是指直接運行python,而不是windows文件關聯,但我完全可以看到你的觀點。以下是如何得到你想要的東西:

1)即使你是這個系統在一個完整的管理,打開「管理員:命令提示符」窗口,在步驟1和2在這篇文章中所述: https://support.enthought.com/entries/23736288-Windows-On-some-systems-admin-users-cannot-immediately-install-for-all-users-

2)在此窗口中,在命令提示輸入以下命令:

ftype Python.File=c:\Users\**\AppData\Local\enthought\Canopy\User\Scripts\python.exe %1 

測試,它現在作爲期望的話,則關閉該窗口。

+0

'ftype'設置系統範圍的文件類型。要爲當前用戶設置,只能使用reg.exe,如下所示:'reg add HKCU \ Software \ Classes \ Python.File \ shell \ open \ command/ve/d「\」%LOCALAPPDATA%\ Enthought \ Canopy \ User \ python.exe \「\」%1 \「%*」'。 「HKCU」適用於當前用戶。我添加了'%*'來傳遞其餘的命令行參數。 – eryksun 2014-10-29 06:14:43

+0

感謝您的回覆,但到目前爲止,這似乎不起作用。在註冊表中,Python.File現在與python.exe相關聯,但.py擴展名仍與Canopy鏈接。此外,我嘗試使用命令「assoc .py = Python.File」(以前「assoc .py」根本沒有任何結果)。但是,regedit仍將.py文件的默認值列爲用Canopy打開,並且行爲仍然完全相同。任何其他想法? – 2014-10-30 05:37:39

+0

奇數;簡單地刪除註冊表中的關聯並不會造成任何傷害,然後再次嘗試assoc命令。 – 2014-10-30 14:42:35

相關問題