2014-06-14 4 views
3

원본에서 SimpleITK를 빌드하고 Python 3.4 (Ubuntu 14.04)에 설치하고 싶습니다. Simpleake with CMake for Python 3

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를 사용하여, 파이썬 3.4을 설치하려고하고 올바르게 설치 듯하지만 내가 파이썬 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) 

, 그것은 말합니다 :

고급 cmake 변수를 언어 별 실행 파일, 라이브러리 및 포함 디렉토리로 확인 및/또는 수정하십시오. 예를 들어 여러 개의 Python 설치가있는 경우 관련된 모든 Python 변수가 동일한 버전을 참조하는지 확인하십시오.

필자는 그렇게하지 않았으며, 파이썬 2.7에서만 작동하는 것으로 추정됩니다. "고급 cmake 변수"는 어떻게 수정합니까?

답변

6

다음은 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 

'분리 된 머리'에 대한 경고는 걱정하지 않아도됩니다.

빌드 SimpleITK

cd ~ 
mkdir SimpleITK-build 
cd SimpleITK-build 

여기에 내가 CMake GUI (우분투가, sudo apt-get install cmake-qt-gui으로 그것을 얻을)를 사용,

cmake-gui ../SimpleITK/SuperBuild/ 

당신이 cmake 변수를 편집 할 수있는 곳은 GUI를 열 것이다 에서. 팝업창에 Configure 버튼을 클릭하고 Finish을 클릭 한 다음 Advanced을 사용 설정합니다.모든 관련 파이썬 변수를 변경합니다

enter image description here

(필자는 경로의 일부가 마지막에 'm'을 한 이유를 잘 모르겠지만, 당신이 그것을 here에 대한 자세한 읽을 수 있습니다)

당신이 만약을 자바 또는 다른 언어를 끄려면 WRAP_JAVA을 아래로 스크롤하고 비활성화하십시오. Configure을 다시 누르십시오 (필요한 경우 확실하지 않음). Generate을 누르십시오. CMake GUI를 닫고 터미널로 돌아가서

make 

을 입력하십시오. 적어도 한 시간은 걸립니다. 이제

사람들이 cmake있는 파이썬 변수와 관련, 나는 깨끗하게 설치를 관리 할 수 ​​checkinstall을 사용

파이썬에 설치 당신의 .bashrc 파일

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/SimpleITK-build/lib 

cd ~ 
sudo checkinstall --pkgname python3-simpleitk python3.4 \ 
~/SimpleITK-build/SimpleITK-build/Wrapping/PythonPackage/setup.py install 

+0

완벽하게 작동합니다. 왜 이것이 답변으로 표시되지 않습니까? – mijc

1

가장 먼저 태그가 지정된 최신 버전을 체크 아웃합니다. 태그가있는 분기가 아닌 경우 특정 시점에 repo에서 진행되는 사항을 알기가 어렵습니다. 사용할 수있는보기 위해 자식 태그를 사용하여, 다음을 수행하십시오

git checkout v0.8.0 

올바른 cersion을 최적화하기 위해, 당신은 아마 대신 cmake의 ccmake해야한다. 그런 다음 configure (c)를 두 번 수행 한 다음 (g)를 생성하십시오. Java, tcl 및 R을 사용하지 않을 경우 사용하지 않도록 설정할 수 있습니다. 파이썬 라이브러리와 python 3.4 (PYTHON_INCLUDE_DIR, PYTHON_LIBRARY, PYTHON_EXECUTABLE, 't'를 사용하여 고급 옵션보기)가 일치하는지 확인하십시오.

+0

을이 줄을 추가하는 설치하려는 Python의 버전이 일관성이 있는지 확인해야합니다. 릴리스 후보 (rc)가 아닌 최종 릴리즈를 확인하는 것이 좋습니다. 가장 최근 릴리스에는 태그 "v0.8.0"이 있습니다. – blowekamp