MSYS2:安装后pip不在路径中找不到命令

如何解决MSYS2:安装后pip不在路径中找不到命令

我在 MSYS2 shell 中使用以下命令在 MSYS2 上安装了 pip: pacman -S mingw-w64-x86_64-python-pip (包的网页:https://packages.msys2.org/package/mingw-w64-x86_64-python-pip

安装后,当我尝试在 MSYS2 shell 中运行 pip 时,我得到:bash: pip: command not found

出于某种原因,它没有在 MSYS2 系统路径中的任何位置安装 pip。 C:\msys64\usr\bin 中没有名为“pip”的文件。但是,安装确实在 C:\msys64\mingw64\bin添加一个名为“pip”的文件。此目录不是 MSYS2 使用的认路径的一部分。

我应该将 C:\msys64\mingw64\bin 添加到我的 MSYS2 PATH 中吗?更重要的是,为什么它将 pip 安装到不在 PATH 中的目录?有这种烦恼的原因吗?

解决方法

作为 documentation explains,MSYS2 项目由两个部分组成:MinGW 和 MSYS 本身。它们之间的区别如下:

  • MinGW 软件包是本地 Windows 二进制文件,它们本身用于构建本地 Windows 软件。它们可以独立于 MSYS 运行,但 MSYS 可以简化它们的使用,例如通过提供类似 Unix 的 shell 脚本语言。
  • (正确的)MSYS 包在虚拟 POSIX 环境中运行,该环境用作构建系统,旨在引导 MSYS2 的其余部分。它结合了足够的 POSIX 特性(例如熟悉的 /bin/lib/etc 等目录结构),允许从类 Unix 系统移植软件,而无需广泛地将其调整到 Windows平台。 MSYS 部分中的开发工具用于构建依赖于 MSYS 环境的软件。

mingw-w64-x86_64-python-pip 包属于 MinGW 部分。为了使用它,您需要启动一个 MinGW shell,以便您可以访问用于构建原生 Windows 软件的 MinGW 环境。如果您想让 pip 在 MSYS shell 中可用,您需要安装 MSYS 包 python-pip

至于手动将 /mingw64/bin 添加到您的 PATH:不,您绝对是 not supposed to do that。不支持以这种方式混合环境;重点是让他们分开。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?