LINUX.ORG.RU

Как заставить python-zmq использовать libzmq3 вместо libzmq1

 , , , ,


0

2

У меня изначально были установлены обе но потом я устаревшую снес дабы не мешала и у меня все упало:

$ python
Python 2.7.9 (default, Mar  1 2015, 12:57:24) 
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import zmq
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/zmq/__init__.py", line 66, in <module>
    from zmq import backend
  File "/usr/local/lib/python2.7/dist-packages/zmq/backend/__init__.py", line 41, in <module>
    reraise(*exc_info)
  File "/usr/local/lib/python2.7/dist-packages/zmq/backend/__init__.py", line 29, in <module>
    _ns = select_backend(first)
  File "/usr/local/lib/python2.7/dist-packages/zmq/backend/select.py", line 27, in select_backend
    mod = __import__(name, fromlist=public_api)
  File "/usr/local/lib/python2.7/dist-packages/zmq/backend/cython/__init__.py", line 6, in <module>
    from . import (constants, error, message, context,
ImportError: libzmq.so.1: cannot open shared object file: No such file or directory
>>>

Хуже все что я не представляю как python-zmq мог привязатся к libzmq1 ибо ее у него нету даже в зависимостях

★★★★★

Пересобрать. Можно даже с 4.1. API там вроде бы не ломали.

asaw ★★★★★ ()
Ответ на: комментарий от barti_ddu

Дебианопроблемы.

~> eix net-libs/zeromq
[I] net-libs/zeromq
     Available versions:  2.2.0 3.2.3 (~)3.2.5(0/3) 4.1.1(0/4) (~)4.1.2(0/5) {pgm static-libs test ELIBC="glibc"}
     Installed versions:  4.1.2(14:44:59 17/06/15)(-pgm -static-libs -test)
     Homepage:            http://www.zeromq.org/
     Description:         A brokerless kernel
hateyoufeel ★★★★★ ()
Ответ на: комментарий от Kilte

не уверен что понимаю. я то знаю что это такое но как они относятся к текущей проблеме - не понимаю.

cvv ★★★★★ ()
Ответ на: комментарий от cvv

так дебиановские майнтейнеры решили.

Нет. Дистрибутивные пакеты никогда не срут в «local».

>>> import zmq
>>> print(zmq.__file__)
/usr/lib/python2.7/dist-packages/zmq/__init__.pyc

Ещё раз:

/usr/lib
barti_ddu ()
Ответ на: комментарий от cvv

pip uninstall zmq && pip install zmq

Или как оно там ставилось.

Если через python setup.py install, то грохни /usr/local/lib/python2.7/dist-packages/zmq/ и поставь снова.

Kilte ★★★★★ ()
Последнее исправление: Kilte (всего исправлений: 1)
Ответ на: комментарий от barti_ddu

это ставилось через sudo apt-get install python-zmq

кстати install --reinstall ни на что не повлияло :-(

хотя у меня начинают закрадыватся смутные сомнения

cvv ★★★★★ ()
Последнее исправление: cvv (всего исправлений: 1)
Ответ на: комментарий от anonymous

затрудняюсь ответить. руками не ставилось.

cvv ★★★★★ ()
Ответ на: комментарий от cvv

это ставилось через sudo apt-get install python-zmq

Нет, не _это_, _это_ ставится по пути, приведенному выше (сделай уже 'dpkg --listfiles python-zmq' наконец и убедись сам).

кстати install --reinstall ни на что не повлияло

Модули в '/usr/local' имеют приоритет; можешь переставлять сколько угодно.

хотя у меня начинают закрадыватся смутные сомнения

Не тупи, удаляй локальный пакет.

anonymous ()
Ответ на: комментарий от cvv

Вообще без разницы, но версии в дистрибутиве имеют свойство протухать.

А ещё бывает необходимо выполнить pip install --upgrade для какого-либо пакета и теоретически в будущем получить кашу в системе, что скорее всего маловероятно, но я всё-таки предпочитаю пользоваться pip. Причём только при крайней необходимости. Для своих проектов использую zc.buildout, который складывает яйца в специальную директорию тем самым не загаживая систему. Я в курсе про virtualenv, но это не так удобно.

Kilte ★★★★★ ()

Я мудак, не слушайте меня. Каши никакой не может быть. /0 С помощью pip всё ставится в /usr/local/lib/python2.7/ А то, что было установлено с помощью apt, идёт в /usr/lib/python2.7/

Так что смело выполняй pip uninstall zmq && pip install zmq

Kilte ★★★★★ ()
Ответ на: комментарий от anonymous

Вобщем в debian есть пакет который мне поставил pyzmq через apt-get и через pip одновременно. Причем разных версий...

pip uninstall pyzmq пофиксил ситуацию

cvv ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.