我在用着广义相对论模型在我的项目中,Python 2.7 环境。随着越来越多的人转向 Python 3,我想安装python-gdcm
Python 3。该包使用温差生成界面而且它应该支持Python 3. 还有一个Fedora 软件包可以做到这一点。
我的猜测是,对dsc 文件应该可以,但我从未使用过 dsc-files,我甚至不确定从哪里开始。我甚至找不到文件中应该强制执行 Python 3 环境的位置。我找到了pbuilder 维基(另见。构建) 这似乎是一个开始的地方,但如果有人能在这里给出一些关于如何实现这一点的具体建议,我将不胜感激。
更新
我设法使用以下方法获取资源:
apt source python-gdcm
据我了解,通过查看gdcm-2.6.3/debian/python-gdcm.install
它应该将文件复制到任何/usr/lib/python*
版本中。有一件事让我有点困惑,那就是/usr/lib/python3.5/
没有dist-packages
目录,而/usr/lib/python2.7/
有。相反,Python 3dist-packages
位于/usr/lib/python3/
- 但不确定这是否重要。我试过将文件复制到 Python 3dist-packages
目录中,但这只会在导入包时导致段错误。
从源代码构建 - 更新
因此,我遇到了一个错误,促使我从源代码构建包。使用新版本修复了该错误,我能够编译该包,以便它在 Python 3 控制台中加载:
- 克隆 git 仓库:
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
使用
ccmake
和设置GDCM_WRAP_PYTHON
为 ON 并且将库设置GDCM_BUILD_SHARED_LIBS
为 ON†,配置就可以正常工作并且可以使用 Python 支持来编译库。使用切换部分进入高级部分并设置 Python 路径以匹配 Python 3 设置,使用纯
cmake
调用是: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
然后可以通过以下方式安装该包检查安装。
python 文件(
gdcm.py
、、和)最终位于,需要先手动复制到 ,gdcmswig.py
然后才能加载包。vtkgdcm.py
_gdcmswig.so
/usr/local/lib
/usr/local/lib/python3.5/dist-packages
笔记加载之前请先ldconfig
更新链接。
我剩下的问题是:
- 我应该修改什么德比安-文件夹才能进入上述
cmake
设置? - 有没有办法同时使用 Python 2 和 Python 3?我知道有很多软件包同时提供这两种功能,所以添加这个应该很容易,尽管可能需要重新编译,或者?
- 为什么检测不到
cmake
正确的 Python 文件夹/usr/local/lib/python3.5/dist-packages
?这是 cmake 文件中的错误,还是我遗漏了某些设置?
† 不使用共享库会导致此错误:
CMake Error at Utilities/VTK/CMakeLists.txt:796 (install):
install TARGETS given no ARCHIVE DESTINATION for static library target
"vtkgdcmPythonD".