以前,我安装了 Python 3.7.4,并且在 Win10 上运行良好。然后,第 3 方安装程序(我不知道)安装了 Python 2.7 ......这完全淹没了我的 Python 环境(呃)。在删除 Python 2.7 并运行 Python 3.7.4 的修复重新安装后,它主要是备份和运行 - 除了能够拖放到 .py 文件上。在 Windows Explorer和Python Drag -and-drop broken中拖放到 Python 脚本上,我尝试过:注册表:HKCR\.py=Python.File (when I first checked, it was set to py_auto_file, so I did have to change this)HKCR\Python.File\shell\open\command="C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\python.exe" "%1"HKCR\Python.File\shellex\DropHandler= I've tried {60254CA5-953B-11CF-8C96-00AA00B8708C}, {86C86720-42A0-1069-A2E8-08002B30309D}, and {BEA218D2-6950-497B-9434-61683EC065FE}通过上述更改,我能够在拖放到 .py 文件时启动 Python,但 sys.argv 不包含文件名(仅设置了 argv[0],而不是 argv[1])。显然,我在每次测试之间重新启动 Windows 资源管理器。在过去的几个小时里,我一直在搜索和阅读,但我发现的所有内容几乎都包含上述 3 项更改的一些变体。通过将文件拖到 .py 脚本上来启动 Python 时为什么不会设置 argv[1] 的任何想法?
2 回答
潇湘沐
TA贡献1816条经验 获得超6个赞
我设法通过以下方式解决了这个问题:
对 Python 3 进行修复重新安装
修复并重新安装 Python Launcher
创建 HKCU\Software\Classes\Python.File\shellex\DropHandler,默认={BEA218D2-6950-497B-9434-61683EC065FE}
修改 HKLM\Software\Classes\Python.File\shell\open\command,设置 default="C:\Users\my_user_name\AppData\Local\Programs\Python\Python37-32\python.exe" "%1" % *
添加回答
举报
0/150
提交
取消