我想从源代码构建SimpleITK,并为Python3.4安装它(在Ubuntu14.04上)。
我跟踪了SimpleITK构建指令。
git clone http://itk.org/SimpleITK.git
mkdir SimpleITK-build
cd SimpleITK-build
cmake ../SimpleITK/SuperBuild而且效果很好。我能够使用SimpleITK为Python2.7安装sudo python setup.py install。然后,我尝试使用sudo python3.4 setup.py install为Python3.4安装它,尽管它的安装似乎是正确的,但是当我试图在Python3中导入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)在上面的构建说明中,它说:
验证和/或将高级cmake变量更正为特定于语言的可执行文件、库和包含目录。例如,如果有多个Python安装,请确保所有相关的Python变量都引用相同的版本。
我没有这样做,我怀疑这就是为什么它只适用于Python2.7。如何纠正“高级cmake变量”?
发布于 2014-06-19 04:45:42
下面是我在Linux上使用的所有步骤(构建耀因的答案和官方文件)。
获取SimpleITK源代码
cd ~
git clone --recursive http://itk.org/SimpleITK.git设置最新稳定版本
cd ~/SimpleITK
git tag查找最新的稳定版本(对我来说是"v0.8.0"),然后通过
git checkout v0.8.0别担心关于“超然”的警告。
构建SimpleITK
cd ~
mkdir SimpleITK-build
cd SimpleITK-build这里我使用了CMake图形用户界面(在Ubuntu上,用sudo apt-get install cmake-qt-gui获取它),
cmake-gui ../SimpleITK/SuperBuild/这将打开一个GUI,您可以在其中编辑cmake变量。单击Configure按钮并在弹出的对话框上单击Finish,然后启用Advanced。更改所有相关的Python变量:

(我不知道为什么有些路径在结尾处有“m”,但您可以阅读更多关于它的这里)。
如果要关闭Java或任何其他语言,请向下滚动并禁用WRAP_JAVA。再次按Configure (不确定这是否必要),然后按Generate。关闭CMake图形用户界面,返回到您的终端并输入
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发布于 2014-06-17 07:18:35
我会首先检查最新的标签版本,它很难知道什么在回购在任何特定的时间,如果你不是在一个标记的分支。使用git标记查看哪些是可用的,然后执行以下操作:
git checkout v0.8.0要优化正确的证书,您可能应该做ccmake而不是cmake。然后进行两次配置(c),然后生成(g)。如果您不打算使用java、tcl和R,您可能会禁用它们。检查您的python库并包含匹配的python3.4 (PYTHON_INCLUDE_DIR、PYTHON_LIBRARY、PYTHON_EXECUTABLE,使用't‘查看高级选项)。
https://stackoverflow.com/questions/24219159
复制相似问题