Как импортировать pyzmq из файла колеса? - PullRequest
2 голосов
/ 24 октября 2019

Мне нужно импортировать zmq из файла pyzmq.whl, но я получаю ошибку ImportError. Из-за ограничений я не могу сделать pip install.

Я скачал файл "pyzmq-18.1.0-cp37-cp37m-manylinux1_x86_64.whl" с pypi.org (это правильная версия для Python3.7.4?) И переименовал его в pyzmq.whl в моем текущем каталоге.

import sys
sys.path.append("./pyzmq.whl")
import zmq

Я получаю это сообщение об ошибке:

  File "import_zmq.py", line 3, in <module>
    import zmq
  File "pyzmq.whl/zmq/__init__.py", line 47, in <module>
  File "pyzmq.whl/zmq/backend/__init__.py", line 40, in <module>
  File "pyzmq.whl/zmq/utils/sixcerpt.py", line 34, in reraise
  File "pyzmq.whl/zmq/backend/__init__.py", line 27, in <module>
  File "pyzmq.whl/zmq/backend/select.py", line 28, in select_backend
  File "pyzmq.whl/zmq/backend/cython/__init__.py", line 6, in <module>
ImportError: cannot import name 'constants' from 'zmq.backend.cython' (pyzmq.whl/zmq/backend/cython/__init__.py)

Этот вопрос указывает на то, что это проблема структуры папок, но я не извлек файл колеса, так что я не уверен, как исправить эту ошибку.

РЕДАКТИРОВАТЬ: не имеет значения, может быть невозможно импортировать pyzmq какфайл колеса, потому что это зависит от CPython. См. https://www.python.org/dev/peps/pep-0427/#is-it-possible-to-import-python-code-directly-from-a-wheel-file

... импорт расширений C из zip-архива не поддерживается CPython (поскольку это не поддерживается напрямую механизмами динамической загрузки на любой платформе)

...