簡體   English   中英

如何讓Spyder直接從Windows資源管理器打開python腳本(.py文件)

[英]How to get Spyder to open python scripts (.py files) directly from Windows Explorer

我最近在 Windows 7 (Anaconda 3-2.4.0-Windows-x86_64) 上安裝了 Anaconda 發行版。 與 IDLE 不同,我無法在 Spyder IDE 中右鍵單擊並打開 py 文件。我必須先打開 Spyder,然后導航到該文件或將其拖放到編輯器中。 有沒有辦法直接從 Widows Explorer 在編輯器中打開文件?

使用當前版本的 Anaconda (4.1.0),您只需右鍵單擊 Windows 文件資源管理器中的 Python 腳本,然后選擇“打開方式”即可。 第一次執行此操作時,您需要選擇“選擇默認程序”,然后瀏覽到 Anaconda 安裝中 Script 目錄中的 spyder.exe。 還要確保取消選中“始終使用所選程序打開此類文件”,然后單擊“確定”。 從現在開始,當您從 Windows 文件資源管理器的右鍵單擊菜單中選擇“打開方式”時,spyder.exe 將始終列為選項之一。

我使用的另一個軟件也遇到了類似的問題。

我解決此問題的方法是通過“打開方式”對話框將 .py 文件的文件關聯設置為C:\\Anaconda\\Scripts\\spider-script.py 如果您現在嘗試通過雙擊打開File.py ,您將收到如下錯誤

~\\file.py 不是有效的 Win32 應用程序。

這可以通過編輯spyder-script.py注冊表項來解決:

HKEY_USERS\S-1-5-21-3559708500-1520960832-86631148-1002\Software\Classes\Applications\spyder-script.py\shell\open\command

並將默認值"C:\\Anaconda\\Scripts\\spyder-script.py" %1替換為"C:\\Anaconda\\python.exe" "C:\\Anaconda\\Scripts\\spyder-script.py" %1 如果路徑與您的機器不同,請使用此鍵的搜索功能,當然,請為您的 python 安裝使用適當的路徑。 spyder-script.py現在應該在 python shell 中執行。

從 ftype 的文檔字符串中,

...在打開的命令字符串中,%0 或 %1 替換為通過關聯啟動的文件名。

現在,在使用 Anaconda 時,無法從 Windows 文件資源管理器中打開 Spyder 中的文件。 但我們正在努力在未來版本中擁有此功能。

它將通過向打開方式菜單添加一個條目來工作,您可以在資源管理器上的文件上單擊鼠標右鍵時看到。

在 Windows (10) 中對我來說效果很好的是將*.py文件與包含以下行的批處理文件(假設“SpyderBATCH.bat”)相關聯:

[ANACONDA_FOLDER_PATH]\pythonw.exe" "[ANACONDA_FOLDER_PATH]\cwp.py" "[ANACONDA_FOLDER_PATH]" "[ANACONDA_FOLDER_PATH]/pythonw.exe" "[ANACONDA_FOLDER_PATH]/Scripts/spyder-script.py" %1  

其中[ANACONDA_FOLDER_PATH]必須替換為 Anaconda 文件夾的完整路徑(通常在“程序文件”下)。

Windows 所做的,當雙擊一個 python 腳本(比如“file.py”)時,被傳遞給 SpyderBATCH,作為參數號%1 ,“file.py”的完整路徑。

然后啟動 Spyder 並在編輯器視圖中顯示腳本“file.py”。

我想我也會為此發布我的解決方案。

我在多個不同的環境中安裝了 Spyder。 你不能簡單地調用 spyder-script.py 腳本而不出錯,因為環境必須被激活。

@echo off
call [YOUR_CONDA_PATH]\Scripts\activate.bat [YOUR_CONDA_PATH]
call conda activate [YOUR ENVIRONMENT]
call start [YOUR_CONDA_PATH]\envs\[YOUR ENVIRONMENT]\pythonw.exe "[YOUR_CONDA_PATH]\envs\[YOUR ENVIRONMENT]\Scripts\spyder-script.py" %1

如果您在基本環境中安裝了 Spyder,則可以刪除第二行並從第三行中刪除環境擴展。

希望對於其他解決方案有任何奇怪之處的人來說,這個解決方案將通過正確激活環境來解決問題。

JoeB152解決方案非常適合我!

如果您有興趣將 spyder 圖標(或任何其他圖標)添加到 .py 文件,並且您想避免 cmd 彈出窗口,我發現以下解決方法在沒有管理員權限的情況下是可行的:

  1. 下載Bat To Exe Converter的便攜版(我使用的是 v3.0.10)。
  2. 在 Bat to Exe Converter 中打開您的自定義 .bat 文件。
  3. 在選項設置中,激活“圖標”並給出相應圖標的路徑(對我來說它在: .../AppData/Local/Continuum/anaconda3/Scripts/spyder.ico )。
  4. Exe-Format設置為Invisible (不再彈出空的 cmd 窗口)
  5. 將您的 .bat 文件轉換為 .exe 文件。
  6. 像往常一樣,設置為使用新創建的 .exe 打開 .py 文件。

享受!

環境:Windows 10、Conda 4.8.2、Spyder 4.0.1、Python 3.7

此問題與 anaconda 安裝默認值有關 - 默認情況下它不會在 PATH 中注冊自己,因此不鼓勵用戶這樣做。 正確注冊路徑中的所有目錄后,spyder.exe 按預期工作。

如何知道,注冊什么? 找到並 activate.bat 並在 cmd 中運行它,然后運行 ​​echo %PATH% 並手動注冊所有提到 anaconda 的目錄。

或者,重新安裝 anaconda 並啟用 PATH 注冊。 然后,您可以將 .py 文件與 spyder.exe 關聯,並且關聯將起作用。

我在安裝 conda 時找不到 spyder.exe。 但是在我的 users/.anaconda/navigator/scripts 中,我找到了一個 spyder.bat 文件。 使用它打開文件會打開一個 anaconda 提示,不久之后 spyder 將打開文件。 文件圖標壞了,但對我有用。 希望這可能會有所幫助。

我之所以回答是因為我花了一個多小時才將本線程中提供的所有(很棒的)解決方案拼湊在一起,以獲得有效的解決方案(感謝Martin SorgelJoeB152Max-K )。 如果它是多余的,請原諒我,但我需要一個更直接的解釋才能使其正常工作。

完整解決方案:

  1. 不要使用 Bat-to-Exe 轉換器。 你通過谷歌找到的所有這些都包含一些惡意的惡意軟件,我的電腦最終刪除了我使用這種方法制作的 .exe,因為它們中有木馬。 你也不需要它們。

  2. 創建一個新文件 .bat 文件,它將按如下方式啟動 Spyder。 我是用 NotePad++ 做到的

    @echo off call [YOUR_CONDA_PATH]\\Scripts\\activate.bat [YOUR_CONDA_PATH] call conda activate [YOUR ENVIRONMENT] call start [YOUR_CONDA_PATH]\\envs\\[YOUR ENVIRONMENT]\\pythonw.exe "[YOUR_CONDA_PATH]\\envs\\[YOUR ENVIRONMENT]\\Scripts\\spyder-script.py" %1

    我的 [YOUR_CONDA_PATH] 只是C:\\Users\\myusername\\Anaconda3\\ 你的可能很相似。 JoeB152說如果您在基本環境中安裝了 Spyder,您可以刪除第二行並從第三行刪除環境擴展。 如果當您雙擊該 .bat 文件時,它會在您想要的環境中打開 Spyder,您就會知道這個 .bat 文件是正確的。

  3. 打開 Anaconda 終端,並“以管理員身份運行”並將您的 .py 文件與您剛剛創建的新 .bat 文件相關聯,如下所示。 正如其他人指出的那樣,空格和引號需要精確地位於此處。 如果您不是以管理員身份運行,您將被拒絕訪問關聯 .py=Python。

assoc .py=Python 
ftype Python="[PATH_TO_YOUR.batfile]" "%1" %*

您應該都設置為能夠雙擊 .py 文件並在 spyder 中打開它們。 此解決方案不會將這些文件與 sypder 的圖標相關聯,但它會自動打開這些文件,而不會使您的 PC 感染惡意軟件。

Windows 10,Python 3.7.7

(關於 JoeB152 和 Jessica Haskins 的回復的評論——我是新來的,所以我不能發表評論)

我發現一旦您將以下文件從 A 復制粘貼到 B,他們的 suggested.bat 文件就可以工作:

A) C:\Users\USERNAME\Anaconda3\Scripts\spyder-script.py

B) C:\Users\USERNAME\Anaconda3\envs\ENVRIONMENT_NAME\Scripts\

...其中 ENVIRONMENT_NAME 是您的環境名稱,例如 main 或 test。

.bat文件包含:

@echo off
call C:\Users\bloggsj\Anaconda3\Scripts\activate.bat C:\Users\bloggsj\Anaconda3\
call conda activate C:\Users\bloggsj\Anaconda3\
call start C:\Users\bloggsj\Anaconda3\envs\main\pythonw.exe "C:\Users\bloggsj\Anaconda3\envs\main\Scripts\spyder-script.py" %1

然后將.py 文件與that.bat 文件相關聯(例如,通過“打開方式...”對話框)。

或者,您可以嘗試在 .bat 文件的最后一行使用文件路徑:“C:\Users\bloggsj\Anaconda3\Scripts\spyder-script.py”

  1. 自己獲取Spyder: https://docs.spyder-ide.org/current/installation.html

  2. 將默認文件打開器設置為新安裝的 spyder

為了能夠添加包:

  1. 確保已安裝 Anaconda。
  2. Go 到 Spyder 首選項
  3. Go轉Python翻譯
  4. Select:“使用下面的 Python 解釋器”
  5. Select 文件路徑為 Anaconda 並點擊應用

現在您應該能夠打開使用 Spyder 定向的文件並使用 Anaconda 更新您的環境。

我做了一個小批處理文件spy.bat(不在Anaconda目錄下)

然后我將 Windows 中的.py 與這個批處理文件 (spy.bat) 相關聯

  • 右鍵單擊 you.py 並選擇“打開方式”“更多應用”“在您的 PC 上搜索”“選擇 spy.bat”

間諜.bat:

call E:\Anaconda3\Scripts\activate.bat E:\Anaconda3

e:\Anaconda3\python.exe e:\Anaconda3\Scripts\spyder-script.py %1

E:\Anaconda3 ,應該是你的安裝目錄。

第一行啟動環境(Anaconda提示符)

第二行啟動 spyder 腳本

%1是打開你要打開的pyscript。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM