如何让Spyder直接从Windows资源管理器打开python脚本(.py文件)

时间:2015-11-20 00:39:54

标签: python windows ide spyder

我最近在Windows 7(Anaconda 3-2.4.0-Windows-x86_64)上安装了Anaconda发行版。与IDLE不同,我无法右键单击并在Spyder IDE中打开py文件。我将首先打开Spyder,然后导航到该文件或将其拖放到编辑器中。有没有办法直接从Widows Explorer打开编辑器中的文件?

8 个答案:

答案 0 :(得分:4)

使用当前版本的Anaconda(4.1.0),您只需右键单击Windows文件资源管理器中的python脚本,然后选择"打开"。第一次执行此操作时,您需要选择"选择默认程序"然后浏览到Anaconda安装中Script目录中的spyder.exe。还要确保"始终使用所选程序打开此类文件"取消选中,然后单击“确定”。从现在开始,当您选择"打开"时,spyder.exe将始终列为其中一个选项。从Windows文件资源管理器中的右键单击菜单。

答案 1 :(得分:3)

我使用的另一款软件遇到了类似的问题。

我解决此问题的方法是通过打开对话框将.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将替换为通过关联启动的文件名。

答案 2 :(得分:2)

我认为我也将为此发布解决方案。

我在多个不同的环境中安装了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,则可以删除第二行,并从第三行中删除环境扩展。

希望对于任何对另一种解决方案感到奇怪的人,此解决方案都能通过正确激活环境来解决问题。

答案 3 :(得分:1)

在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文件夹的完整路径(通常在“Program Files”下)。

当双击python脚本(比如说“file.py”)时,Windows所做的是传递给SpyderBATCH,作为参数号%1,即“file.py”的完整路径。 / p>

然后启动Spyder并在编辑器视图中显示脚本“file.py”。

答案 4 :(得分:1)

此问题与anaconda的默认安装有关-默认情况下,它不会在PATH中进行注册,因此不鼓励用户这样做。在路径中正确注册所有目录后,spyder.exe将按预期工作。

如何知道,要注册什么? 找到并激活。在cmd中运行它,然后运行echo%PATH%并手动注册所有提及anaconda的目录。

或者,在启用PATH registratin的情况下重新安装anaconda。 然后,您可以将.py文件与spyder.exe关联,关联将起作用。

答案 5 :(得分:0)

我在安装conda时找不到spyder.exe。但是,在我的users / .anaconda / navigator / scripts中,我找到了一个spyder.bat文件。使用此打开文件会打开anaconda提示,并且在spyder之后不久将打开文件。文件图标已损坏,但对我有用。希望这会有所帮助。

答案 6 :(得分:0)

solution from JoeB152非常适合我!

如果您有兴趣将间谍图标(或任何其他图标)添加到.py文件中,并且希望避免cmd-pop-up,我found out the following workaround在没有管理员权限的情况下也是可行的:

  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, 康达4.8.2, Spyder 4.0.1, Python 3.7

答案 7 :(得分:0)

我之所以回答是因为我花了一个多小时才将本线程中提供的所有(很棒的)解决方案拼凑起来,以获得有效的解决方案(感谢 Martin SorgelJoeB152 和 {{ 3}})。如果它是多余的,请原谅我,但我需要一个更直接的解释才能使其正常工作。

完整解决方案:

  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\。你的可能很相似。 Max-K 表示如果您在基本环境中安装了 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