2

我正在尝试在 linux 上为开发人员安装 cellprofiler 并得到“没有名为 _sha256 的模块”错误。我查看了一些博客以找到解决方案,但没有任何效果,有人可以帮我解决这个问题吗?

这是我的配置:

Python 2.7.3 (default, Aug  1 2012, 05:16:07) 
[GCC 4.6.3] on linux2

linux:

uname -m
i686

Distributor ID: Ubuntu
Description:    Ubuntu 12.04.2 LTS
Release:        12.04
Codename:       precise

这是我得到的错误:

local@pc-ellenberg23:~/Softwares/cellProfiler/CellProfiler$ make -f Makefile.CP2 PREFIX="${HOME}/usr/cp2"
All pre-checks executed successfully.
export PATH="/home/local/usr/cp2/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/java-7-openjdk-i386/bin:/usr/lib/jvm/java-7-openjdk-i386/bin:/usr/lib/jvm/java-7-openjdk-i386/bin" && \
                    export LD_LIBRARY_PATH="/home/local/usr/cp2/lib:${LD_LIBRARY_PATH}" && \
                    sh setuptools-0.6c11-py2.6.egg --prefix="/home/local/usr/cp2"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/local/Softwares/cellProfiler/CellProfiler/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 21, in <module>
  File "/home/local/Softwares/cellProfiler/CellProfiler/setuptools-0.6c11-py2.6.egg/setuptools/package_index.py", line 2, in <module>
  File "/home/local/usr/cp2/lib/python2.6/urllib2.py", line 93, in <module>
    import hashlib
  File "/home/local/usr/cp2/lib/python2.6/hashlib.py", line 138, in <module>
    sha224 = __get_builtin_constructor('sha224')
  File "/home/local/usr/cp2/lib/python2.6/hashlib.py", line 66, in __get_builtin_constructor
    import _sha256
ImportError: No module named _sha256
make: *** [/home/local/usr/cp2/bin/easy_install] Error 1

抱歉,如果错误看起来很愚蠢,我是处理 linux 安装错误消息的新手

非常感谢你

4

2 回答 2

5

您缺少hashlib模块的库依赖项。

在 Ubuntu 上,您需要安装libsasl2-devlibssl-dev包,然后重新编译 ( make -f Makefile.CP2 clean; make -f Makefile.CP2 PREFIX="${HOME}/usr/cp2" )CellProfiler依赖项。

于 2013-05-08T09:29:00.363 回答
1

我最终手动安装了它,没有使用他们的 makefile(安装所有依赖项,并执行 cellprofiler.py 文件。我不得不稍微更改他们的代码(他们使用系统环境变量,它会产生错误(搜索我的 libjvm.py )。 so 文件在错误的路径中(i386 而不是 i686))它似乎从 java_home 变量自动生成libjvm.so文件的路径,但在我的情况下,创建的路径是错误的,(生成的路径:/usr/lib/ jvm/java-6-openjdk-i386/jre/lib/ i686 /server/libjvm.so 真正的路径是:/usr/lib/jvm/java-6-openjdk-i386/jre/lib/ i386 /server/ libjvm.so) 如果有人遇到同样的问题,希望这会有所帮助。如果有人找到了 _sha256 错误的解决方案,请告诉我。

于 2013-05-14T13:50:35.407 回答