如何调试“FileNotFoundError: [WinError 2] 系统找不到指定的文件”?

4
在运行程序之前,我必须在终端中执行以下代码,如下所示:
(venv) C:\Users\user pc\PycharmProjects\testProj>pip install -U pip --user
Requirement already up-to-date: pip in c:\users\user pc\pycharmprojects\testproj\venv\lib\site-packages (19.0.3)

(venv) C:\Users\user pc\PycharmProjects\testProj>pip install psycopg2 --user
Requirement already satisfied: psycopg2 in c:\users\user pc\pycharmprojects\testproj\venv\lib\site-packages (2.7.7)

好的,pip已经被安装。 只有在运行了这个之后,我才需要运行我的程序,在程序中出现了以下错误:

"C:\Users\user pc\PycharmProjects\testProj\venv\Scripts\python.exe" "C:/Users/user pc/PycharmProjects/testProj/auto.py"
The unique id is 1
Traceback (most recent call last):
  File "C:/Users/user pc/PycharmProjects/testProj/auto.py", line 381, in <module>
    p = subprocess.Popen(["dscsm047.exe"], stdout=subprocess.PIPE, stdin=subprocess.PIPE)
  File "C:\Users\user pc\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 775, in __init__
    restore_signals, start_new_session)
  File "C:\Users\user pc\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 1178, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

Process finished with exit code 1

您能否更加清晰明确地说明调试此错误的过程,因为我对这个编程领域非常陌生。


这个错误信息表示在你的“PATH”环境变量中找不到程序dscsm047.exe。在你的终端/cmd中输入echo %PATH%来查看PATH变量。 - gdlmx
请问我需要提及哪个路径?@gdlmx - user11108368
你能否更清楚地解释一下这个命令,因为我对此非常陌生。@gdlmx - user11108368
我按照你说的做了,得到了以下结果:(venv) C:\Users\user pc\PycharmProjects\testProj>echo %PATH% C:\Users\user pc\PycharmProjects\testProj\venv\Scripts;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Hexagon\ERDAS IMA GINE 2015\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Hexagon\ERDAS IMAGINE 2015\;C:\Users\user pc\AppData\Local\Pr ograms\Python\Python37-32\Scripts\;C:\Users\user pc\AppData\Local\Programs\Python\Python37-32\;C:\Python34\Scripts - user11108368
1个回答

0

这个错误信息表示在您的“PATH”环境变量中找不到程序dscsm047.exe。请在终端/cmd中键入echo %PATH%以查看PATH变量。

如果没有找到可执行文件,则可以在C:\DSSAT47\DSCSM047.EXE下找到它,否则请阅读此处的文档。

如果您实际上在C:\DSSAT47下找到了dscsm047.exe。那么您可以在终端中运行此命令。

set PATH="C:\DSSAT47;%PATH%"
python  "C:/Users/user pc/PycharmProjects/testProj/auto.py"

我在C:\DSSAT47中有dscsm047.exe。但是当我在终端中运行命令echo %PATH%时,我得到的结果是: - user11108368
C:\Users\user pc\PycharmProjects\testProj\venv\Scripts;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Hexagon\ERDAS IMA GINE 2015\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Hexagon\ERDAS IMAGINE 2015\;C:\Users\user pc\AppData\Local\Pr ograms\Python\Python37-32\Scripts\;C:\Users\user pc\AppData\Local\Programs\Python\Python37-32\;C:\Python34\Scripts``` - user11108368
那么接下来该怎么做呢?我还需要使用这个命令设置路径吗?set PATH="C:\DSSAT47;%PATH%" - user11108368
"C:\Users\user pc\PycharmProjects\testProj\venv\Scripts\python.exe" "C:/Users/user pc/PycharmProjects/testProj/auto.py" - gdlmx
同样的错误再次出现:'python' 不是内部或外部命令,也不是可运行的程序或批处理文件。``` - user11108368
显示剩余14条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接