我最近在Windows 7(Anaconda 3-2.4.0-Windows-x86_64)上安装了Anaconda发行版。与IDLE不同,我无法右键单击并在Spyder IDE中打开py文件。我将首先打开Spyder,然后导航到该文件或将其拖放到编辑器中。有没有办法直接从Widows Explorer打开编辑器中的文件?
答案 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在没有管理员权限的情况下也是可行的:
.../AppData/Local/Continuum/anaconda3/Scripts/spyder.ico
)。享受!
环境: Windows 10, 康达4.8.2, Spyder 4.0.1, Python 3.7
答案 7 :(得分:0)
我之所以回答是因为我花了一个多小时才将本线程中提供的所有(很棒的)解决方案拼凑起来,以获得有效的解决方案(感谢 Martin Sorgel、JoeB152 和 {{ 3}})。如果它是多余的,请原谅我,但我需要一个更直接的解释才能使其正常工作。
完整解决方案:
不要使用 Bat-to-Exe 转换器。你通过谷歌找到的所有这些都包含一些恶意的恶意软件,我的电脑最终删除了我使用这种方法制作的 .exe,因为它们中有木马。你也不需要它们。
制作一个新文件 .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 文件是正确的。
打开一个 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