首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何确定python是mingw还是官方版本?

如何确定python是mingw还是官方版本?
EN

Stack Overflow用户
提问于 2016-03-12 17:58:50
回答 3查看 1.8K关注 0票数 2

我在MSYS2环境中使用python。MSYS2有自己构建的MINGW python版本。我也可以从www.python.org安装官方的python。

问题是:如果我想写一段python代码,需要知道python的版本是MINGW还是官方版本,我该怎么做呢?

以下是我能想象到的一些方法。

  1. 使用"sys.prefix“对象。它告诉安装目录。MSYS2通常安装在目录X:\msys2....中。官方版本默认安装在X:\Python27\中。但是用户可以更改安装目录。所以这不是一个好方法。
  2. 使用"sys.version“对象可以获得带有编译器名称的版本字符串。它显示了由MSC编写的官方版本,即由GCC编写的MINGW python。但也有可能存在其他版本的蟒蛇,也是由GCC或微软建造的。

有没有更优雅的方法可以做到这一点?

EN

回答 3

Stack Overflow用户

发布于 2018-07-06 05:13:49

Mingw构建了打了补丁的官方sysconfig.get_platform()函数,所以它返回"mingw“,并且可以用来与官方的python构建区分开来。

https://github.com/Alexpux/MINGW-packages/blob/abd06ca92d876b9db05dd65f27d71c4ebe2673a9/mingw-w64-python2/0410-MINGW-build-extensions-with-GCC.patch#L54

票数 4
EN

Stack Overflow用户

发布于 2019-09-15 02:51:14

另一种选择是检查GCC是否在sys.version中。

例如:

代码语言:javascript
复制
import sys
MSYS2 = ("GCC" in sys.version)
print(MSYS2)
> True

这是因为sys.version信息具有所使用的编译器类型,而MinGW使用的是GCC。

代码语言:javascript
复制
python -c "import sys; print(sys.version)"
3.7.4 (default, Aug 15 2019, 18:17:27)  [GCC 9.2.0 64 bit (AMD64)]
票数 0
EN

Stack Overflow用户

发布于 2017-01-06 02:32:24

在msys-Python中,sys.platform会给出msys

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35956180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档