当前位置: 首页 > article >正文

由于 “系统找不到指定的路径” 导致Pymol_1.8_win-7_64bit 安装失败的原因分析与解决方法

整理完毕,请查看(2025/03/21 19:53)
  在安装 Python2.7.9 和 Pymol_1.8_win-7_64bit 时,遇到了问题,如 图1 所示。
  可以看到,屏幕上提示错误信息 ”系统找不到指定路径“。

图 1 在安装Pymol1.8 时,屏幕上的错误提示信息

图1 在安装Pymol1.8 时,屏幕上的错误提示信息

 
  首先,看一下这个黑色的窗口是什么,然后分析错误信息 ”系统找不到指定路径“产生的原因是什么,接下来讲一下解决思路。
  要解决这个问题,需要用到如下知识点:命令提示符窗口、操作系统(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 所示。
图2 批处理语言件install_pymol.bat中的内容

图2 批处理语言件install_pymol.bat中的内容

 
  看标黄的那一行 “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 的安装目录。
图3 安装Python2.7.9后,“C:\Python27\“ 中的目录和文件列表。

图3 安装Python2.7.9后,“C:\Python27\“ 中的目录和文件列表

 
  分析产生问题的原因。由此可以判定,安装 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年代),只能通过键盘输入命令操作(如 copydel),没有图形界面。
  • 现代 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) 检查是否为内部命令
  • 系统会先判断该命令是否是内部命令(如 dircopy)。如果是内部命令,直接执行。
  • 如果不是内部命令,则进入外部命令查找流程。
  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 文件,可能存在风险。

http://www.kler.cn/a/596169.html

相关文章:

  • Qt 关键技术点总结与实践经验
  • WireShark与rtps协议组合使用
  • Spring Data JPA 参数陷阱:从 500 错误到完美解决的奇妙之旅 ✨
  • 【论文笔记】Transformer
  • 【ELK】节省存储 之 压缩存储方式调整
  • vscode + latex workshop + sumatraPDF
  • JVM常用概念之隐式空值检查
  • TouchSocket TcpService:构建高性能Tcp服务的终极利器
  • 基于SpringBoot + Vue 的鲜花商城管理系统
  • 智能汽车图像及视频处理方案,支持视频智能拍摄能力
  • 双非控制学硕女生,对渲染、音视频、医疗影像感兴趣,如何规划争取拿到中厂开发岗位?
  • 深入理解计算机网络:OSI 与 TCP/IP 各层结构与功能
  • 如何在ubunt上安装flume
  • 玩转python: Python并发编程-多线程的实战应用解析
  • Linux中安装redis
  • atop命令介绍(全面资源监控:同时监控CPU、内存、磁盘、网络和进程活动)性能监控、资源数据
  • Python---数据分析(Pandas六:二维数组DataFrame,DataFrame的创建,DataFrame的属性)
  • 如何在 HTML 中创建一个有序列表和无序列表,它们的语义有何不同?
  • ESP32-C6助力设备互联互通,Wi-Fi6无线通信方案,物联网交互联动
  • 卸载conda,poetry常用命令,vscode使用poetry虚拟环境