我跟着SimpleITK’s build instructions,即
git clone http://itk.org/SimpleITK.gitmkdir SimpleITK-buildcd SimpleITK-buildcmake ../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)
在上面的构建说明中,它说:
Verify and/or correct the advanced cmake variables to the language specific executable,librarIEs and include directorIEs. For example if you have multiple Python installations ensure that all related Python variable refer to the same versions.
我没有这样做,我怀疑这就是为什么它只适用于Python 2.7.如何更正“高级cmake变量”?
解决方法 以下是我在linux上使用的所有步骤(建立Yiuin的答案和 official docs).获取SimpleITK源代码
cd ~git clone --recursive http://itk.org/SimpleITK.git
设置最新的稳定版本
cd ~/SimpleITKgit tag
寻找最新的稳定版本(对我而言,它是“v0.8.0”),并通过做检查
git checkout v0.8.0
并且不要担心关于’超级head’的警告.
构建SimpleITK
cd ~mkdir SimpleITK-buildcd SimpleITK-build
在这里我使用了CMake GUI(在Ubuntu上,用sudo apt-get install cmake-qt-gui获取),
cmake-gui ../SimpleITK/SuperBuild/
这将打开一个GUI,您可以在其中编辑cmake变量.单击“配置”按钮并在d出的对话框中单击“完成”,然后启用“高级”.更改所有相关的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总结
以上是内存溢出为你收集整理的python-3.x – 使用CMake for Python 3构建SimpleITK全部内容,希望文章能够帮你解决python-3.x – 使用CMake for Python 3构建SimpleITK所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)