windows Python:FileNotFoundError [WinError 2]系统无法找到指定的文件,subprocess.py:1582

1tu0hz3e  于 2023-01-18  发布在  Windows
关注(0)|答案(2)|浏览(162)

错误信息:

FileNotFoundError

  [WinError 2] The system cannot find the file specified

  at ~\AppData\Local\Programs\Python\Python39\lib\subprocess.py:1582 in _execute_child
      1578│             sys.audit("subprocess.Popen", executable, args, cwd, env)
      1579│ 
      1580│             # Start the process
      1581│             try:
    → 1582│                 hp, ht, pid, tid = _winapi.CreateProcess(
      1583│                     executable,
      1584│                     args,
      1585│                     # no special security
      1586│                     None,
make: *** [makefile:14: format] Error 1

我们在此列出了类似的问题:https://bugs.python.org/issue17023
文件在那里,路径也很好。但是为什么我得到这个错误,因为文件在指定的位置?
我在运行格式化程序时得到这个错误。

ux6nzvsh

ux6nzvsh1#

你可以设置shell = True并将它传递给你正在使用的子流程类。修改库文件会导致以后与其他程序员的代码的兼容性问题。要深入了解为什么我们需要设置这个变量,请查看文档:* “args对于所有调用都是必需的,并且应该是字符串或程序参数序列。通常首选提供参数序列,因为它允许模块处理任何必需的参数转义和引用(例如允许文件名中有空格)。如果传递单个字符串,shell必须为True(见下文),或者字符串必须仅命名要执行的程序,而不指定任何参数。"*

w46czmvw

w46czmvw2#

***重要提示 *:-如果对库文件进行任何修改,可能会导致以后与其他程序员的代码兼容性问题。**要获得更多信息,关于为 shell 设置值的必要性,请参阅官方文档,这里提供了适当的链接。

由于这个错误给我的工作带来了麻烦,我现在做了下面的解决方案,一切都很好。
要解决此错误:-我们必须在您的环境中修改subprocess.py
首先,你必须找到这个文件,然后编辑它。在我的电脑中,它的位置是-C:\Users\User\AppData\Local\Programs\Python\Python39\Lib。
在这段代码中:

def __init__(self, args, bufsize=-1, executable=None,
             stdin=None, stdout=None, stderr=None,
             preexec_fn=None, close_fds=_PLATFORM_DEFAULT_CLOSE_FDS,
             shell=True, cwd=None, env=None, universal_newlines=False,
             startupinfo=None, creationflags=0,
             restore_signals=True, start_new_session=False,
             pass_fds=(), *, encoding=None, errors=None):

您必须更改shell的值。
shell=False更改为shell = True
这个解决办法对我有效,我希望它对你也有效。
谢谢你。

发现有帮助,请投赞成票!!

相关问题