由于 “系统找不到指定的路径” 导致Pymol_1.8_win-7_64bit 安装失败的原因分析与解决方法
整理完毕,请查看(2025/03/21 19:53)
在安装 Python2.7.9 和 Pymol_1.8_win-7_64bit 时,遇到了问题,如 图1 所示。
可以看到,屏幕上提示错误信息 ”系统找不到指定路径“。
首先,看一下这个黑色的窗口是什么,然后分析错误信息 ”系统找不到指定路径“产生的原因是什么,接下来讲一下解决思路。
要解决这个问题,需要用到如下知识点:命令提示符窗口、操作系统(DOS、Windows)、路径、命令提示符窗口如何找到命令并执行、内部命令、外部命令、环境变量、环境变量的修改、环境变量path、批处理文件。
知道了上述知识点,遇到类似问题,就可以找到解决方案了。为了快速了解决方案。部分知识点的解释放在了附录中,可查阅。
1. 在图1 中看到的这个黑色窗口是什么
在图1看到的这个黑色窗口,称为命令提示符窗口(Command Prompt),也称为 DOS 窗口(参附录(1))。
(1) 命令提示符窗口
命令提示符窗口是一个纯文字的操作界面。在命令提示符窗口中,显示的类似 C:\Users\YourName
文字称为提示符,其含义是提示现在正工作于磁盘上的位置,这个位置也称为当前路径;闪烁的白色短坚线称为光标(cursor),光标处指示了等待输入命令的位置。
可以在光标处,输入命令(如 notepad
),然后输入回车,执行命令。例如:
- 输入
notepad
会打开记事本。 - 输入
dir
会列出当前文件夹内的所有文件。
这个窗口又称为 DOS 窗口 (见 附录(1))。
(2)在命令提示符窗口中输入命令,查找并执行命令的规则
在命令提示符窗口的光标处,可以输入命令,然后输入回车后执行。输入的命令可分为内部命令和外部命令(见 附录(2))两类,输入命令后,系统根据既定规则,找到命令并执行,既定规则参见附录(4)。
2. 图1中的“系统找不到指定的路径”是什么意思?如何解决这个问题?
在命令提示符窗口中,看到提示 “系统找不到指定的路径”,意味着按照附录(4)中的既定规则,没有在磁盘上找到要执行的外部命令。
验证指定命令在指定位黑是否存在。先看一下,在安装 Pymol_1.8_win-7_64bit 时所用的批处理文件(见附录 (5))。用记录本打开安装用的批处理文件 “install_pymol.bat”,如图 2 所示。
看标黄的那一行 “C:\Python27\Scripts\pip.exe install wheel”,这一行是图1中,第一处报错的来源。由错误信息和以上讲解可知,系统在文件夹 “C:\Python27\Scripts\” 没有找到外部命令 “pip.exe”,所以报错了。下面,查证一下。打开文件夹 “C:\Python27\“ 后,其中的目录和文件列表如图 3,可以看到没有 “Scripts” 文件夹,当然 “Scripts” 中的“pip.exe”也是不存在的 。这里,“C:\Python27\” 是 Python2.7.9 的安装目录。
分析产生问题的原因。由此可以判定,安装 Python2.7.9 时,出现了问题,因为没在正常安装上Python2.7.9,所以缺少 Scripts 目录和其中的文件。分析问题的可能原因:一是 Python2.7.9 的安装包有问题;二是系统中有安装了其他版本的 Python,影响了 Python2.7.9 的正常安装。
问题的解决方案。因为有人用 Python2.7.9 的安装包,安装成功,说明安装包没问题,所以,接下来,在系统的 “设置->安装的应用” 中查看,是否有安装的其他版本的 Python,发现确实有其他版本的 Python,卸载掉所有已安装的 Python,其中包括安装不成功的 Python2.7.9。然后再按说明,安装 Python2.7.9。安装好后,发现在 “C:\Python27\“ 中有 “Scripts” 文件夹,此文件夹中也有安装 Pymol_1.8_win-7_64bit 所需要的命令(也可称为程序) “pip.exe”。接下来,双击批处理文件 “install_pymol.bat”,可正常 pymol_1.8。安装后,执行程序 “PyMOL”,PyMOL正确执行。
至此,正常安装了PyMOL。其他,类似出现 ““系统找不到指定的路径” 的问题,可作类似分析与处理。
3. 附录:
(1)DOS 及其与 Windows 的关系
- DOS(Disk Operating System):早期的操作系统(1980年代),只能通过键盘输入命令操作(如
copy
、del
),没有图形界面。 - 现代 Windows:保留了 DOS 的命令行功能,方法是在命令提示符窗口中执行,但底层已不再依赖 DOS 内核。Windows 的图形界面(如桌面、窗口)覆盖在命令行之上,操作更直观。
- 现代 Windows中的 DOS:Windows 10/11 中的“命令提示符”是一个模拟 DOS 环境的工具,并非真正的 DOS 系统。
(2)DOS 中的命令分类
内部命令是系统“内嵌”命令,可直接执行,不依赖单独的执行文件,如dir、echo、cls等。
外部命令是独立的可执行程序(如文件名后缀为 .exe、.bat 等的文件),这些可执行程序以文件方式存储在计算机的某个文件夹中,当在光标处输入外部命令时,系统需要按照一定规则找到这个命令对应的执行文件,然后才能运行。具体规则见附录 1(5)。
(3)环境变量(Environment Variables)和 环境变量Path 的作用
先解释一下什么是环境变量(Environment Variables)和 环境变量 Path。
- 环境变量:是计算机中存储系统或用户配置信息的参数,例如临时文件路径、系统语言等。
- Path 变量:是环境变量中的一个特殊变量,记录了一组文件夹路径。当你在命令提示符输入命令时,系统会自动在这些路径中查找对应的程序。
示例:
- 如果
Path
中包含C:\Windows\System32
,输入notepad
时,系统会直接找到C:\Windows\System32\notepad.exe
并执行。
1)在Win11 中修改环境变量 Path 的步骤
方法一:图形界面(推荐)
step 1. 右键点击“此电脑” → 选择“属性”。
step 2. 点击“高级系统设置” → 点击“环境变量”按钮。
step 3. 在“系统变量”或“用户变量”列表中找到 Path
→ 点击“编辑”。
step 4. 点击“新建” → 输入需要添加的文件夹路径(如 D:\MyPrograms
)→ 点击“确定”保存。
注意事项:
- 修改“系统变量”需要管理员权限。
- 路径需精确到文件夹(如
D:\MyPrograms
而非D:\MyPrograms\app.exe
)。
方法二:命令提示符(临时修改)
# 查看当前 Path
echo %PATH%
# 临时添加路径(注意:关闭窗口后失效)
set PATH=%PATH%;D:\MyPrograms
(4)在命令提示符窗口中执行命令的规则
当你在命令提示符输入一个命令时,系统会按如下示意图顺序查找对应的程序文件:
示意图描述:
输入命令 → 搜索当前文件夹 → 找到?→ 执行
↓ (若找不到)
按 Path 路径逐个搜索 → 找到?→ 执行
↓ (若找不到)
报错:“找不到命令”
详细说明如下。
1) 检查是否为内部命令
- 系统会先判断该命令是否是内部命令(如
dir
、copy
)。如果是内部命令,直接执行。 - 如果不是内部命令,则进入外部命令查找流程。
2) 检查当前工作目录
- 系统会首先在当前文件夹中查找是否有与命令同名的可执行文件(如
ping.exe
)。 - 示例:
假设你在D:\Downloads
文件夹下输入myapp.exe
,系统会优先检查D:\Downloads
是否有myapp.exe
。
3)按环境变量 Path
的路径顺序搜索
如果当前目录未找到目标文件,系统会按照 Path
环境变量中配置的文件夹路径列表,依次搜索每个文件夹,直到找到匹配的程序文件。
Path
的路径列表:
Path
是一个包含多个文件夹路径的字符串,路径之间用分号;
分隔,例如:C:\Windows\System32;C:\Program Files\Java\bin;...
- 搜索顺序:
系统会从Path
列表的第一个路径开始,逐个检查每个文件夹中是否存在与命令同名的可执行文件(如ping.exe
)。
4)找到文件后执行
- 一旦找到匹配的程序文件(如
C:\Windows\System32\ping.exe
),系统会加载并执行该文件。 - 若所有路径均未找到,则提示错误:
'xxx' 不是内部或外部命令,也不是可运行的程序或批处理文件。
因为有以上执行命令的规则,所以为便于操作,常有如下操作。
1)使用软件时,通常会手工/自动配置path环境变量,为什么?
- 简化操作:
如果所有外部命令都要求用户输入完整路径(如C:\Windows\System32\ping 192.168.1.1
),会非常繁琐。
通过Path
,只需输入命令名(如ping
)即可自动找到程序。 - 集中管理程序路径:
安装软件时将其安装目录加入Path
,可以在任意位置直接调用其命令(如 Java 的java
命令)。
2)常见问题与解决
问题 1:输入命令后提示“不是内部或外部命令”
- 原因:
- 命令名称拼写错误。
- 程序文件未安装或已被删除。
Path
中未包含程序所在的文件夹路径。
- 解决:
- 检查拼写。
- 确认程序是否安装(如
ping.exe
默认在C:\Windows\System32
)。 - 将程序所在文件夹路径添加到
Path
(参考 [Win11 修改 Path 的步骤](#))。
问题 2:同一命令在不同目录下结果不同
- 原因:
- 某些文件夹中存在同名程序文件(如当前目录有
test.exe
,而Path
其他路径也有test.exe
)。
- 某些文件夹中存在同名程序文件(如当前目录有
- 系统行为:
- 优先执行当前目录中的程序文件。
- 若当前目录没有,则按
Path
顺序执行第一个找到的文件。
总结: 系统查找外部命令的核心依赖 Path
环境变量,通过路径列表实现快速定位程序文件。理解这一过程有助于解决命令执行失败的问题,并合理管理软件安装与配置。
(5)批处理文件(Batch File)和编辑方法
批处理文件(扩展名为 .bat
)是一个包含多行命令的文本文件,双击后会按顺序自动执行这些命令。学用来执行如下操作: 自动备份文件、批量重命名文件、一键启动多个程序、安装程序。
如何创建和编辑:
1)右键桌面 → 新建 → 文本文档 → 将文件名改为 my_script.bat
(注意扩展名必须是 .bat
)。
2)右键用记事本打开文件,输入命令,每行一条:
@echo off
echo 列出文件...
dir C:\Windows\*.*
echo Finished!
pause
说明:
@echo off
:关闭命令提示语,让界面更干净。dir C:\Windows\*.*
:列表C:\Windows*.*中的所有目录与文件。pause
:执行完后暂停,防止窗口闪退。
3)保存文件后,可双击运行。
注意事项:
- 如果文件名显示为
my_script.bat.txt
,需在文件资源管理器中开启“显示文件扩展名”再重命名。 - 不要随意运行他人提供的
.bat
文件,可能存在风险。