我已经安装了顶篷Python 包,当我双击一个 Python 文件时,它会打开 Canopy 编辑器。我想单击文件来运行它,而不是编辑它。我已将文件属性更改为,Type of file: PY file (.py) / Opens with: python.exe
但它不起作用。双击该文件会闪烁一个 cmd 窗口一瞬间,但不会运行该文件,大概是因为它启动 Python 时没有给它文件名。
注意:在 cmd 窗口中,python file.py
可以正常运行该文件。并且assoc .py
显示.py=Enthought.Canopy
,而不是预期的.py=pyfile
。
笔记2:Windows 中的 Python 文件关联不起作用说要在文件上执行“按住 Shift 键并单击鼠标右键”,但是我没有得到比仅单击鼠标右键更好的选择。
属性窗口没有明显的方式告诉 Windows 使用 运行文件python.exe %s
,我认为这是必需的。如何设置实际运行文件的文件关联?
答案1
在我的系统(安装了 Win7 x64、Anaconda2 和 Anaconda3)上,我需要修改
[HKEY_CLASSES_ROOT\py_auto_file\shell\open\command]
通过放置类似
"C:\Anaconda3\python.exe" "%1" %*
在默认条目中。
顺便说一句, %* 对于向 Python 脚本传递可选参数很有用。
答案2
新版本的 Windows 需要编辑注册表,因为文件关联控制面板不允许您指定参数传递。 一个来源建议在保存为“foo.reg”并由 Windows 打开的文本文件中使用它:
Windows 注册表编辑器版本 5.00
[HKEY_CLASSES_ROOT\Perl\shell\Open\command] @="\"C:\path\to\python.exe\" \"%1\" %*"
这应该会导致 Windows 将文件名传递给解释器。
答案3
如果你不想摆弄注册表,较新版本的 Windows 有一个替代方法:
控制面板:控制面板\程序\默认程序\设置关联
- 程式
- 默认程序
- 设置关联
设置:Windows 10
- 系统
- 默认应用程序
- 根据文件类型选择默认应用程序
在这两种情况下,找到 .PY 和 .PYW,并将其程序更改为python 执行文件或者pythonw.exe分别 (执行程序和执行程序)。
这将自动设置可执行文件的路径,后跟您案例中缺少的部分:%1
。此变量由您的文件的名称替换py(w)
。
答案4
启动命令提示符。
将正确的文件组与.py 脚本关联:
assoc .py=Python.File 将所有 Python 文件重定向到新的可执行文件:
ftype Python.File=C:\Path\to\pythonw.exe“%1”%*