在 Windows 上点击 "click.edit" 会引发 WinError 14001 或 87
作者: emorynb创建于 2026年9月5日更新于 2026年9月14日
我是在测试自己的 Click 应用程序时发现这个错误的。在 Windows 上尝试调用 click.edit() 的大约一半情况下,notepad.exe 将无法启动,并会出现以下两个错误消息之一(在 spoilers 部分中显示输出):
PS C:\Users\Emory> Python .\click-notepad-me.py
Traceback (most recent call last):
File "C:\Users\Emory\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\click\_termui_impl.py", line 729, in edit_files
c = subprocess.Popen(
args=shlex.split(editor) + list(filenames),
env=environ,
)
File "C:\Users\Emory\AppData\Local\Python\pythoncore-3.14-64\Lib\subprocess.py", line 1038, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pass_fds, cwd, env,
^^^^^^^^^^^^^^^^^^^
...<5 lines>...
gid, gids, uid, umask,
^^^^^^^^^^^^^^^^^^^^^^
start_new_session, process_group)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Emory\AppData\Local\Python\pythoncore-3.14-64\Lib\subprocess.py", line 1552, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
# no special security
^^^^^^^^^^^^^^^^^^^^^
...<4 lines>...
cwd,
^^^^
startupinfo)
^^^^^^^^^^^^
OSError: [WinError 87] The parameter is incorrect内容来源: pallets/click