Я пытаюсь установить OpenCV из Неофициальные двоичные файлы Windows для пакетов расширений Python.
Скачал такой файл: 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.
Из того, что я понял после некоторого поиска в Google и SO-ing, это проблема из-за сборок несоответствие между CPython - между загруженным файлом wheel и средой Python в моей системе.
Поэтому я попытался найти способы определить, какая версия CPython установлена в моей системе, но потерпел неудачу.
Что я пробовал до сих пор:
import platform
platform.python.implementation()
Что дало:
'CPython'
Далее я попробовал, platform.architecture () что дало:
('64bit', 'WindowsPE')
Позже я просто просмотрел свою папку сайты-пакеты и нашел некоторые файлы, такие как __init__.cpython-36.pyc, следовательно, предполагая, что я использую CPython 3.6.
Есть ли другой метод, основанный на программировании, чтобы проверить то же самое через терминал?
Любая помощь приветствуется. TIA.
@cryptonome: Никакой большой помощи - Выполнив то, что вы сказали, я получил не очень лаконичный результат.
platform.python_version()Если у вас установлен Python 3.7, запустите pip -V и проверьте, какая версия Python печатается. На вашем компьютере pip может быть псевдонимом pip3.6, а не pip3.7; если это правда, вам нужно либо настроить %PATH% так, чтобы сначала были правильные двоичные файлы. Или используйте py -3.7 -m pip install, чтобы явно выбрать правильный.
@RolfofSaxony Твой трюк сработал. Спасибо. Пожалуйста, сформулируйте это как ответ, чтобы я мог с ним согласиться.
@hoefling Большое спасибо за более технический обзор.
"не очень лаконичный результат" что это такое? Я никогда не запускаю python в Windows, но я думаю, что можно с уверенностью сказать, что IDLE в Windows также будет печатать версию. черт, даже если IDLE не напечатал его, вы можете просто import sys; sys.version
@cryptonome Результат слишком велик, чтобы помещать его в комментарий. Я получил необходимую помощь, спасибо за попытку.






Модуль 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.
Это также может быть связано с конкретным тегом ABI вашего питона. Возможно, у вас не cp37m, где m означает компиляцию с помощью pymalloc.
Чтобы получить свой тег ABI, вы можете pip install wheel, а затем получить его программно:
>>> from wheel.pep425tags import get_abi_tag
>>> get_abi_tag()
'cp37m'
Вы пробовали
python -Vили запускали python в командной строке?