Estou usando o GDCM no meu projeto em um ambiente Python 2.7. Quanto mais está se movendo em direção ao Python 3, eu gostaria de instalar o python-gdcm
para o Python 3. O pacote usa SWIG para gerar o interface e deve support Python 3. Também há um Pacote do Fedora disponível que faz isso.
Meu palpite é que uma simples modificação no arquivo-dsc deve ser feita, mas eu nunca trabalhei com dsc-files e não tenho certeza de onde começar. Não consigo nem encontrar onde o ambiente do Python 3 deve ser imposto no arquivo. Eu encontrei o wiki pbuilder (alt. sbuild ) que parece ser o lugar para começar, mas eu agradeceria muito se alguém aqui tivesse algumas dicas concretas sobre como fazer isso funcionar.
Eu consegui obter as fontes usando:
apt source python-gdcm
Pelo que entendi, olhando o gdcm-2.6.3/debian/python-gdcm.install
ele deve copiar os arquivos em qualquer /usr/lib/python*
versão. Uma coisa que me deixa um pouco confuso é que o /usr/lib/python3.5/
não tem um diretório dist-packages
enquanto o /usr/lib/python2.7/
faz. Em vez disso, o dist-packages
do Python 3 está localizado em /usr/lib/python3/
- não tenho certeza se isso é importante. Eu tentei apenas copiar os arquivos para o diretório Python 3 dist-packages
, mas isso só causou um segfault ao importar o pacote.
Então, encontrei um bug que me levou a criar o pacote a partir do código-fonte. O bug foi corrigido usando a nova versão e eu fui capaz de compilar esse pacote para que ele seja carregado em um console do Python 3:
git clone --branch release git://git.code.sf.net/p/gdcm/gdcm
sudo apt-get build-dep python-gdcm
sudo apt install python-vtk6 libvtk6-dev cmake-curses-gui
Usando o ccmake
e a configuração GDCM_WRAP_PYTHON
para ON e a biblioteca GDCM_BUILD_SHARED_LIBS
para ON †, o configure funciona e a biblioteca pode ser compilada com suporte a Python.
Use a seção de alternância para acessar a seção avançada e defina os caminhos do Python para corresponder às configurações do Python 3, usando cmake
puro a chamada é: cmake GDCM_WRAP_PYTHON=ON PYTHON_EXECUTABLE=/user/bin/python3 PYTHON_INCLUDE_DIR=/usr/include/python3.5 GDCM_BUILD_SHARED_LIBS=ON GDCM_USE_VTK=ON ../gdcm
O pacote pode ser instalado por meio de checkinstall .
Os arquivos python ( gdcm.py
, gdcmswig.py
, vtkgdcm.py
e _gdcmswig.so
) terminaram em /usr/local/lib
e precisam ser copiados manualmente para o /usr/local/lib/python3.5/dist-packages
antes que o pacote possa ser carregado. Nota antes do carregamento faça um ldconfig
para atualizar os links.
cmake
? cmake
não detecta a pasta correta do Python, por exemplo, /usr/local/lib/python3.5/dist-packages
? Isso é um bug nos arquivos cmake ou é alguma configuração que está faltando? † Não usar as bibliotecas compartilhadas causou este erro:
CMake Error at Utilities/VTK/CMakeLists.txt:796 (install):
install TARGETS given no ARCHIVE DESTINATION for static library target
"vtkgdcmPythonD".