проблема с python: неопределенный символ: sqmI - PullRequest
1 голос
/ 20 января 2020

Я установил на свою Ubuntu этот пакет: pyinteraph.py после установки, у меня есть эта проблема:

File "/home/user/Scrivania/PyInteraph-1.0/test/pyinteraph/pyinteraph", line 162, in <module>
 from libinteract import libinteract as li
  File "/home/user/Scrivania/PyInteraph-1.0/test/lib/python/libinteract/libinteract.py", line 8, in <module>
    from innerloops import LoopDistances
ImportError: /home/user/Scrivania/PyInteraph-1.0/test/lib/python/libinteract/innerloops.so: undefined symbol: sqmI

Я не знаю, как это исправить

1 Ответ

2 голосов
/ 20 января 2020

Мне удалось установить и заставить его работать на моей машине с несколькими настройками ... Это определенно не идеально, надеюсь, что сопровождающие пакета смогут обновить инструкции по установке.

Вот что я сделал:

  1. создайте новый каталог для вашего проекта, mkdir myproj
  2. измените каталоги на новый каталог cd myproj
  3. создайте новый virutalenv virtualenv --python=python2.7 venv
  4. активировать virutalenv source venv/bin/activate
  5. pip install numpy scipy matplotlib networkx weave
  6. pip install MDAnalysis==0.7.6
  7. Клон репозитория pyinteraph: git clone https://github.com/ELELAB/pyinteraph.git
  8. cd pyinteraph
  9. python setup.py install
  10. (вот где это становится немного хакерским ...) из-за этой проблемы здесь со scipy нам нужно отредактировать файл MDAnalysis в импорт weave вместо scipy.weave. Измените пару строк в файле venv/lib/python2.7/site-packages/MDAnalysis/analysis/distances.py с:
import numpy
from scipy import sparse
from scipy import weave
from scipy.weave import converters

на

import numpy
from scipy import sparse
#  from scipy import weave
#  from scipy.weave import converters

import weave
from weave import converters

Затем, чтобы проверить, работает ли он, откройте оболочку python и попробуй:

from libinteract import libinteract

Если ошибок нет, тебе хорошо go.

...