python-3.x – 使用CMake for Python 3构建SimpleITK
我想从源代码构建SimpleITK并为
Python 3.4安装它(在Ubuntu 14.04上).
我跟着SimpleITK’s build instructions,即 git clone http://itk.org/SimpleITK.git mkdir SimpleITK-build cd SimpleITK-build cmake ../SimpleITK/SuperBuild 这工作得很好.我可以使用sudo python setup.py install为Python 2.7安装SimpleITK.然后我尝试使用sudo python3.4 setup.py install为Python 3.4安装它,虽然它似乎安装正确,但当我尝试在Python 3中导入SimpleITK时,我得到了: ... File "/usr/lib/python3.4/imp.py",line 243,in load_module return load_dynamic(name,filename,file) ImportError: dynamic module does not define init function (PyInit__SimpleITK) 在上面的构建说明中,它说:
我没有这样做,我怀疑这就是为什么它只适用于Python 2.7.如何更正“高级cmake变量”? 解决方法
以下是我在Linux上使用的所有步骤(建立Yiuin的答案和
official docs).
获取SimpleITK源代码 cd ~ git clone --recursive http://itk.org/SimpleITK.git 设置最新的稳定版本 cd ~/SimpleITK git tag 寻找最新的稳定版本(对我而言,它是“v0.8.0”),并通过做检查 git checkout v0.8.0 并且不要担心关于’超级HEAD’的警告. 构建SimpleITK cd ~ mkdir SimpleITK-build cd SimpleITK-build 在这里我使用了CMake GUI(在Ubuntu上,用sudo apt-get install cmake-qt-gui获取), cmake-gui ../SimpleITK/SuperBuild/ 这将打开一个GUI,您可以在其中编辑cmake变量.单击“配置”按钮并在弹出的对话框中单击“完成”,然后启用“高级”.更改所有相关的Python变量: (我不确定为什么有些路径最后有’m’,但你可以阅读更多关于它的信息here) 如果要关闭Java或任何其他语言,请向下滚动并禁用WRAP_JAVA.再次点击配置(不确定是否有必要),然后点击Generate.关闭CMake GUI,返回终端并输入 make 这需要至少一个小时. 现在将此行添加到.bashrc文件中 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/SimpleITK-build/lib 在Python上安装 我使用checkinstall来干净地管理安装, cd ~ sudo checkinstall --pkgname python3-simpleitk python3.4 ~/SimpleITK-build/SimpleITK-build/Wrapping/PythonPackage/setup.py install (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |