0

我是 Windows 用户。我曾经从python.org安装官方 CPython 。但最近我尝试了mingw-w64-x86_64-pythonMSYS2 提供的。

两位口译员在发布时展示了不同的横幅:

  • 蟒蛇.org:Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32
  • MSYS2:Python 3.8.3 (default, Jun 17 2020, 06:11:06) [GCC 10.1.0 64 bit (AMD64)] on win32

这表明它们是由不同的编译器构建的。

我的问题

  1. 从用户的角度来看,这两种实现之间的主要区别是什么,尤其是那些与包安装有关的区别?
  2. 使用 GCC 版本,我可以使用pacman或安装软件包pip(我曾经pacman安装过,pip因为pip默认情况下不包括在内),我应该使用哪一个来安装软件包?事实上,pip当我尝试安装numpy,pandas和之类的软件包时失败了jupyterpacman可以安装它们,但我不知道是否有任何兼容性问题。
4

2 回答 2

0

从用户的角度来看,如果你只使用普通的 python 模块,应该没有区别。主要区别在于它们的非 Python 模块(使用 C 或 C++ 代码)不兼容。您可以将两者安装在同一台机器上,但每个都需要自己的一组库,并且您必须知道要调用哪个库。

除非您打算使用仅适用于一种架构的二进制模块,否则我建议您只使用一种以避免将来出现问题。

于 2020-06-26T13:16:41.533 回答
0

世界是广阔的。有人生产东西,有人分发它们。您可以从米其林、奥迪经销商或当地汽车维修店购买米其林轮胎。(也许轮胎不是一个很好的类比,但让我坚持下去。)

这里的“生产者”是 Python Software Foundation。该基金会“生产”python 源代码。现在您可以直接从生产者那里“购买”源代码——从他们的站点下载源代码并自己编译。您可能会去全球可用的分销商之一 - 就像pip那是 python 分发包的通用工具。或者,您可以去当地的一家商店,该商店出售特定于您的特定环境包管理器的类似 python 的产品pacman

MSC 构建的 Python 和 GCC 构建的 Python 有什么区别?

它们由不同的组织打包,似乎使用不同的编译器编译。

从用户的角度来看,这两种实现之间的主要区别是什么,尤其是那些与包安装有关的区别?

没有任何。如果您使用米其林轮胎,那么您在哪里购买它们并没有什么区别。或者产品可能存在细微差别,这可能与您有关,您可能更喜欢一家商店。其他商店将为您的购买退款 - 即。您将使用不同的工具来卸载和管理软件。

我应该使用哪一个来安装包?

这是一个基于意见的问题。使用适合您需要的那个。我猜不是所有可能的 python 包都由 MSYS2 团队打包(并非所有可能的轮胎都可以在您当地的汽车店买到),所以我pip尽可能使用。

于 2020-06-26T13:50:48.923 回答