如何查明我正在使用哪个 CPython 版本?

Pra*_*Das 5 python windows cpython pip

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

\n\n

我下载了以下文件:opencv_python\xe2\x80\x913.4.3\xe2\x80\x91cp37\xe2\x80\x91cp37m\xe2\x80\x91win_amd64.whl,\n当我这样做时pip install "opencv_python\xe2\x80\x913.4.3\xe2\x80\x91cp37\xe2\x80\x91cp37m\xe2\x80\x91win_amd64.whl",弹出了一条错误消息。

\n\n

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

\n\n

根据我在谷歌搜索和 SO-ing 后了解到的情况,这是由于CPython构建之间不匹配(下载的 Wheel 文件和我系统上的 Python 环境之间)造成的问题。

\n\n

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

\n\n

到目前为止我尝试过的:

\n\n
import platform\nplatform.python.implementation()\n
Run Code Online (Sandbox Code Playgroud)\n\n

这给出了:

\n\n
\'CPython\' \n
Run Code Online (Sandbox Code Playgroud)\n\n

此外,我尝试了 \nplatform.architecture()\n 给出了:

\n\n
(\'64bit\', \'WindowsPE\')\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

是否有更多基于编程的方法来通过终端检查相同的内容?

\n\n

任何形式的帮助表示赞赏。TIA。

\n

Rol*_*ony 6

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

>>> import platform
>>> platform.python_version()
'3.6.6'
Run Code Online (Sandbox Code Playgroud)

尽管如此,简单地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.
Run Code Online (Sandbox Code Playgroud)

sys模块也可以在这里发挥作用,因为它同时具有versionapi_version例程。

>>> sys.version
'3.8.10 (default, Mar 15 2022, 12:22:08) \n[GCC 9.4.0]'
>>> sys.api_version
1013
>>> sys.version_info
sys.version_info(major=3, minor=8, micro=10, releaselevel='final', serial=0)
>>> 
Run Code Online (Sandbox Code Playgroud)

sys.version 一个字符串,包含 Python 解释器的版本号以及有关内部版本号和所使用的编译器的附加信息。当交互式解释器启动时,会显示该字符串。不要从中提取版本信息,而是使用 version_info 和平台模块提供的功能。

sys.api_version 此解释器的 C API 版本。当调试 Python 和扩展模块之间的版本冲突时,程序员可能会发现这很有用。

  • 这不显示 cpython 版本。 (3认同)