Anaconda环境中Playwright运行时出现_winapi.CreateProcess文件未找到错误
Anaconda环境中Playwright运行脚本报错问题
报错详情
运行同事提供的Playwright脚本时出现以下错误:
Traceback (most recent call last): File "C:\Program Files\JetBrains\PyCharm 2025.1\plugins\python-ce\helpers\pydev\pydevd.py", line 1570, in _exec pydev_imports.execfile(file, globals, locals) # execute the script ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\JetBrains\PyCharm 2025.1\plugins\python-ce\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile exec(compile(contents+"\n", file, 'exec'), glob, loc) File "C:\Users\Administrator\Documents\GitHub\Automation\src\Script Idriss\URD_AMF.py", line 122, in <module> asyncio.run(fetch_all_documents(), debug = True File "C:\Program Files\JetBrains\PyCharm 2025.1\plugins\python\helpers-pro\pydevd_asyncio\pydevd_nest_asyncio.py", line 138, in run return loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\JetBrains\PyCharm 2025.1\plugins\python\helpers-pro\pydevd_asyncio\pydevd_nest_asyncio.py", line 243, in run_until_complete return f.result() ^^^^^^^^^^ File "C:\ProgramData\anaconda3\Lib\asyncio\futures.py", line 203, in result raise self._exception.with_traceback(self._exception_tb) File "C:\ProgramData\anaconda3\Lib\asyncio\tasks.py", line 314, in __step_run_and_handle_result result = coro.send(None) ^^^^^^^^^^^^^^^ File "C:\Users\Administrator\Documents\GitHub\Automation\src\Script Idriss\URD_AMF.py", line 16, in fetch_all_documents async with async_playwright() as p: File "C:\ProgramData\anaconda3\Lib\site-packages\playwright\async_api\_context_manager.py", line 46, in __aenter__ playwright = AsyncPlaywright(next(iter(done)).result()) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\ProgramData\anaconda3\Lib\asyncio\futures.py", line 203, in result raise self._exception.with_traceback(self._exception_tb) File "C:\ProgramData\anaconda3\Lib\site-packages\playwright\_impl\_transport.py", line 120, in connect self._proc = await asyncio.create_subprocess_exec( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\ProgramData\anaconda3\Lib\asyncio\subprocess.py", line 224, in create_subprocess_exec transport, protocol = await loop.subprocess_exec( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\ProgramData\anaconda3\Lib\asyncio\base_events.py", line 1744, in subprocess_exec transport = await self._make_subprocess_transport( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\ProgramData\anaconda3\Lib\asyncio\windows_events.py", line 400, in _make_subprocess_transport transp = _WindowsSubprocessTransport(self, protocol, args, shell, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\ProgramData\anaconda3\Lib\asyncio\base_subprocess.py", line 36, in __init__ self._start(args=args, shell=shell, stdin=stdin, stdout=stdout, File "C:\ProgramData\anaconda3\Lib\asyncio\windows_events.py", line 878, in _start self._proc = windows_utils.Popen( ^^^^^^^^^^^^^^^^^^^^ File "C:\ProgramData\anaconda3\Lib\asyncio\windows_utils.py", line 153, in __init__ super().__init__(args, stdin=stdin_rfd, stdout=stdout_wfd, File "C:\ProgramData\anaconda3\Lib\subprocess.py", line 1026, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "C:\ProgramData\anaconda3\Lib\subprocess.py", line 1538, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\JetBrains\PyCharm 2025.1\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_monkey.py", line 628, in new_CreateProcess return getattr(_subprocess, original_name)(app_name, patch_arg_str_win(cmd_line), *args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ FileNotFoundError: [WinError 2] The system cannot find the file specified python-BaseException
最后执行的Python语句:
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
调试发现的问题
executable参数值为Noneargs参数值为:C:\\ProgramData\\anaconda3\\Lib\\site-packages\\playwright\\..\\..\\..\\..\\bin\\node C:\\ProgramData\\anaconda3\\Lib\\site-packages\\playwright\\..\\..\\..\\node_modules\\playwright\\node_modules\\playwright-core\\cli.js run-driver
Node.exe路径搜索结果
系统中存在多个Node.exe实例,但均不在脚本预期的C:\ProgramData\bin目录:
c:\>where /r c:\ node.exe c:\ProgramData\anaconda3\node.exe c:\ProgramData\anaconda3\Lib\site-packages\playwright\driver\node.exe c:\ProgramData\anaconda3\pkgs\nodejs-24.4.0-he453025_0\node.exe c:\ProgramData\anaconda3\pkgs\playwright-1.51.0-py_0\site-packages\playwright\driver\node.exe c:\Users\All Users\anaconda3\node.exe c:\Users\All Users\anaconda3\Lib\site-packages\playwright\driver\node.exe c:\Users\All Users\anaconda3\pkgs\nodejs-24.4.0-he453025_0\node.exe c:\Users\All Users\anaconda3\pkgs\playwright-1.51.0-py_0\site-packages\playwright\driver\node.exe
缺失的关键文件
脚本预期的文件路径C:\ProgramData\anaconda3\Lib\site-packages\playwright\..\..\..\node_modules\playwright\node_modules\playwright-core\cli.js不存在,Anaconda根目录的node_modules下仅有以下内容:
C:\ProgramData\anaconda3\node_modules 17-07-25 15:13 <DIR> . 17-07-25 19:54 <DIR> .. 17-07-25 15:13 <DIR> corepack 17-07-25 15:13 <DIR> npm
当前环境已安装的相关包
c:\>conda search --envs *playwr* Searching environments for *playwr*: done # Name Version Build Channel Location playwright-python 1.51.0 pyhff2d567_0 conda-forge C:\ProgramData\anaconda3 playwright 1.51.0 py_0 microsoft C:\ProgramData\anaconda3 pytest-playwright 0.7.0 pyhe2000d9_0 microsoft C:\ProgramData\anaconda3 pytest-playwright-asyncio 0.7.0 pyhea8283c_0 microsoft C:\ProgramData\anaconda3
内容的提问来源于stack exchange,提问作者Bruno Hanzen
相关产品推荐
相关产品推荐

