我正在使用Windows 10。每当我运行python脚本,启动cygwin终端,bash脚本时,我都会遇到错误消息The system cannot find the path specified。没有任何有意义的错误消息来指出确切的原因。我怀疑这是由于PATH变量中的一个路径名指向不存在的路径。我如何才能找到哪个路径名导致它?
The system cannot find the path specified
gk7wooem1#
Powershell路径测试
这是一行Powershell脚本,它将测试PATH环境变量中的所有路径是否存在。它将为每个路径报告OK或MISSING。如果任何路径被列为缺失,您应该手动将其从环境变量中删除。
@($env:path -split ";").ForEach({ if($_) {$result = 'MISSING |';if(Test-Path -path $_) { $result = ' OK |'};-join($result, ' ', $_); }})
字符串
备选方案2
在提升的CMD提示符下运行以下命令。这将确保所有Windows路径和可执行文件可用,权限正确且未损坏。运行后,如果需要,它将给予进一步的指示。
sfc /scannow
型关于证监会/Scannow
备选方案3
打开注册表编辑器(regedit.exe)。检查以下内容(如果存在)是否存在无效的不需要的路径。作为示例,请在进行更改之前先检查注册表。
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
型
备选方案4
从微软的网站获得小工具Process Monitor。进程监视器是一个先进的监视工具,用于Windows,显示实时文件系统,注册表和进程/线程活动。你会发现使用此工具的违规路径。1.下载、提取和运行1.关闭尽可能多的打开的程序。1.在进程监视器中,在文件下有一个捕获事件复选框可以启用/禁用。一旦你打开它,停止捕获,然后选择编辑->清除显示。1.现在准备重现“System cannot find the path specified”错误。1.在触发错误之前,启用“捕获事件”。一旦出现错误,立即禁用进程监视器中的“捕获事件”。1.使用“筛选器”菜单查找违规操作。查找结果为“NAME NOT FOUND”或“PATH NOT FOUND”的行。违规操作可能具有“Event Class”=“File System”||“注册表”。它可能是另一个结果/事件类,但我会从那里开始。
一些过滤器,试图缩小罪犯:
在找到您要查找的内容并修复问题后,您至少需要在重新测试之前关闭并重新打开提示符,但可能还需要执行重新启动。如果删除违规记录可以通过卸载程序删除,那么这样做是因为错误/过时的文件路径可能只是问题的一半,另外还需要更新注册表记录。卸载程序应该可以解决这两个问题。
如果需要更改注册表,请确保首先使用regedit.exe创建备份。
z5btuh9x2#
看到有一个简单的方法来做到这一点,只是按照这个链接,以找到您的路径变量在高级设置https://docs.oracle.com/en/database/oracle/r-enterprise/1.5.1/oread/creating-and-modifying-environment-variables-on-windows.html#GUID-DD6F9982-60D5-48F6-8270-A27EC53807D0现在,您不太可能拥有多个PATH变量,因此我建议检查每个PATH变量,如果有错误,请将其删除或者,只需添加一个新的PATH变量,其中包含python库文件的路径
gmxoilav3#
你还应该尝试改变命令的顺序,把-out属性放在命令的末尾。
3条答案
按热度按时间gk7wooem1#
Powershell路径测试
这是一行Powershell脚本,它将测试PATH环境变量中的所有路径是否存在。它将为每个路径报告OK或MISSING。如果任何路径被列为缺失,您应该手动将其从环境变量中删除。
字符串
备选方案2
在提升的CMD提示符下运行以下命令。这将确保所有Windows路径和可执行文件可用,权限正确且未损坏。运行后,如果需要,它将给予进一步的指示。
型
关于证监会/Scannow
备选方案3
打开注册表编辑器(regedit.exe)。检查以下内容(如果存在)是否存在无效的不需要的路径。作为示例,请在进行更改之前先检查注册表。
型
备选方案4
从微软的网站获得小工具Process Monitor。进程监视器是一个先进的监视工具,用于Windows,显示实时文件系统,注册表和进程/线程活动。你会发现使用此工具的违规路径。
1.下载、提取和运行
1.关闭尽可能多的打开的程序。
1.在进程监视器中,在文件下有一个捕获事件复选框可以启用/禁用。一旦你打开它,停止捕获,然后选择编辑->清除显示。
1.现在准备重现“System cannot find the path specified”错误。
1.在触发错误之前,启用“捕获事件”。一旦出现错误,立即禁用进程监视器中的“捕获事件”。
1.使用“筛选器”菜单查找违规操作。查找结果为“NAME NOT FOUND”或“PATH NOT FOUND”的行。违规操作可能具有“Event Class”=“File System”||“注册表”。它可能是另一个结果/事件类,但我会从那里开始。
一些过滤器,试图缩小罪犯:
在找到您要查找的内容并修复问题后,您至少需要在重新测试之前关闭并重新打开提示符,但可能还需要执行重新启动。
如果删除违规记录可以通过卸载程序删除,那么这样做是因为错误/过时的文件路径可能只是问题的一半,另外还需要更新注册表记录。卸载程序应该可以解决这两个问题。
如果需要更改注册表,请确保首先使用regedit.exe创建备份。
z5btuh9x2#
看到有一个简单的方法来做到这一点,只是按照这个链接,以找到您的路径变量在高级设置
https://docs.oracle.com/en/database/oracle/r-enterprise/1.5.1/oread/creating-and-modifying-environment-variables-on-windows.html#GUID-DD6F9982-60D5-48F6-8270-A27EC53807D0
现在,您不太可能拥有多个PATH变量,因此我建议检查每个PATH变量,如果有错误,请将其删除
或者,只需添加一个新的PATH变量,其中包含python库文件的路径
gmxoilav3#
你还应该尝试改变命令的顺序,把-out属性放在命令的末尾。