1

我已经在我的 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

我不知道如何解决它

4

1 回答 1

2

通过一些调整,我能够安装并让它在我的机器上运行......这绝对不是理想的,希望包维护者可以更新安装说明。

这是我所做的:

  1. 为您的项目创建一个新目录,mkdir myproj
  2. 将目录更改为新目录cd myproj
  3. 创建新的虚拟环境virtualenv --python=python2.7 venv
  4. 激活virutalenvsource 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 安装
  10. (这是它变得有点hacky的地方......)由于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 shell 并尝试:

from libinteract import libinteract

如果没有错误,您就可以开始了。

编辑:维护者在这里有一个 py3 版本

于 2020-01-20T20:02:20.977 回答