python - MSC 构建的 Python 和 GCC 构建的 Python 有什么区别?
问题描述
我是 Windows 用户。我曾经从python.org安装官方 CPython 。但最近我尝试了mingw-w64-x86_64-python
MSYS2 提供的。
两位口译员在发布时展示了不同的横幅:
- 蟒蛇.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
这表明它们是由不同的编译器构建的。
我的问题
- 从用户的角度来看,这两种实现之间的主要区别是什么,尤其是那些与包安装有关的区别?
- 使用 GCC 版本,我可以使用
pacman
或安装软件包pip
(我曾经pacman
安装过,pip
因为pip
默认情况下不包括在内),我应该使用哪一个来安装软件包?事实上,pip
当我尝试安装numpy
,pandas
和之类的软件包时失败了jupyter
,pacman
可以安装它们,但我不知道是否有任何兼容性问题。
解决方案
从用户的角度来看,如果你只使用普通的 python 模块,应该没有区别。主要区别在于它们的非 Python 模块(使用 C 或 C++ 代码)不兼容。您可以将两者安装在同一台机器上,但每个都需要自己的一组库,并且您必须知道要调用哪个库。
除非您打算使用仅适用于一种架构的二进制模块,否则我建议您只使用一种以避免将来出现问题。