如何找出我使用的CPython版本?

时间:2018-10-21 11:24:36

标签: python windows pip cpython

我正在尝试从Unofficial Windows Binaries for Python Extension Packages安装OpenCV。

我下载了以下文件: opencv_python‑3.4.3‑cp37‑cp37m‑win_amd64.whl , 当我做pip install "opencv_python‑3.4.3‑cp37‑cp37m‑win_amd64.whl"时,弹出错误消息。

错误opencv_python-3.4.3+contrib-cp37-cp37m-win_amd64.whl is not a supported wheel on this platform.

根据我在进行谷歌搜索和SO-ing之后的了解,这是一个问题,原因是Cstrong版本之间存在不匹配-在下载的wheel文件与系统上的Python环境之间。

>

因此,我尝试寻找确定系统上哪个CPython版本的方法,但是失败了。

到目前为止我尝试过的事情:

import platform
platform.python.implementation()

哪个给了:

'CPython' 

我尝试过, platform.architecture() 给出了:

('64bit', 'WindowsPE')

后来,我只是在我的 site-packages 文件夹中进行搜索,发现了一些文件,例如__init__.cpython-36.pyc因此假设我正在使用CPython 3.6

是否有更多基于编程的方法可以通过终端进行检查?

任何帮助都将受到赞赏。 TIA。

2 个答案:

答案 0 :(得分:2)

platform模块将使用以下命令提供python版本:

>>> import platform
>>> platform.python_version()
'3.6.6'

尽管如此,仅从命令行运行python应该会提供一个标题,该标题也为您提供了此信息。

$ python
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.

答案 1 :(得分:1)

它也可能与您的python的特定ABI标签有关。也许您不是cp37m,这里的'm'代表使用pymalloc进行编译。

要获取您的ABI标签,您可以pip install wheel,然后以编程方式获取它:

>>> from wheel.pep425tags import get_abi_tag
>>> get_abi_tag()
'cp37m'