加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python-3.x – 使用CMake for Python 3构建SimpleITK

发布时间:2020-12-20 11:36:04 所属栏目:Python 来源:网络整理
导读:我想从源代码构建SimpleITK并为 Python 3.4安装它(在Ubuntu 14.04上). 我跟着SimpleITK’s build instructions,即 git clone http://itk.org/SimpleITK.gitmkdir SimpleITK-buildcd SimpleITK-buildcmake ../SimpleITK/SuperBuild 这工作得很好.我可以使用su
我想从源代码构建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)

在上面的构建说明中,它说:

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 ~/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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读