我試圖用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用戶來說,使用註冊表編碼是一項艱鉅的任務。現在我想知道,是否有更簡單的方法來做到這一點,或許在安裝腳本中,將我的命令行腳本文件夾放入其路徑中?任何想法都表示讚賞。
'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
感謝您的回覆,但到目前爲止,這似乎不起作用。在註冊表中,Python.File現在與python.exe相關聯,但.py擴展名仍與Canopy鏈接。此外,我嘗試使用命令「assoc .py = Python.File」(以前「assoc .py」根本沒有任何結果)。但是,regedit仍將.py文件的默認值列爲用Canopy打開,並且行爲仍然完全相同。任何其他想法? – 2014-10-30 05:37:39
奇數;簡單地刪除註冊表中的關聯並不會造成任何傷害,然後再次嘗試assoc命令。 – 2014-10-30 14:42:35