python绑定到objcryst++库。
pyobjcryst的Python项目详细描述
Pyobjcryst
python绑定到面向对象的晶体库objcryst++。
这个版本的pyobjcryst的文档可以在 http://diffpy.github.io/pyobjcryst。
要求
- {TT1}$-C++面向对象晶体学库 https://github.com/diffpy/libobjcryst
- setuptools-安装python包的工具
- NumPy-使用python进行科学计算的库
- python-dev-用于将python与c连接的头文件
- scons-软件构造工具(可选)
我们建议使用Anaconda Python 因为它允许将所有软件依赖项与 皮约布里斯特。对于其他python发行版,有必要 单独安装所需的软件。例如,在ubuntu上 Linux使用
sudo apt-get install \ python-setuptools python-numpy scons \ build-essential python-dev libboost-all-dev
安装
首选方法是使用anaconda python并从 水蟒包装的“diffpy”通道
conda config --add channels diffpy conda install pyobjcryst
pyobjcryst也包含在“diffpy cmi”集合中 用于结构分析的包数
conda install diffpy-cmi
如果您希望使用其他python发行版或从源代码安装, 必须首先按照中的说明安装libobjcryst库 https://github.com/diffpy/libobjcryst。确保其他要求 软件也已就位,然后运行:
python setup.py install
您可能需要将sudo与系统python一起使用,因此该过程是 允许将文件复制到系统目录。if管理员(根) 访问不可用,请参阅 python setup.py install --help用于安装到的选项 用户可写的位置。安装完整性可以是 通过使用
执行包含的测试进行验证python -m pyobjcryst.tests.run
安装pyobjcryst的另一种方法是使用scons工具, 它可以通过编译C++文件在几个过程中加快进程 并行作业(-J4):
scons -j4 install
有关生成目标和选项的说明,请参见scons -h。
发展
pyobjcryst是作为 布鲁克海文国家学院的Diffpy CMI复杂建模计划 实验室。pyobjcryst源托管在 https://github.com/diffpy/pyobjcryst。
你可以自由地为这个项目做贡献。安装pyobjcryst 在开发模式中,其源代码由python直接使用 使用
python setup.py develop --user
开发时最好编译C++文件 scons使用build=develop选项,该选项编译扩展名 带有调试信息和C断言检查的模块
scons -j4 build=debug develop
生成脚本检查是否存在sconsvars.py文件,该文件 可用于永久设置build变量。烤饼 构造环境可以在^{tt13}中进一步定制$ 脚本。可以通过执行单元测试来验证包的完整性 scons -j4 test。
在使用anaconda python开发时,必须指定 活动的头路径、库路径和运行时库路径 水蟒环境。这可以通过设置CPATH来实现, LIBRARY_PATH和LDFLAGS环境变量如下:
# resolve the prefix directory P of the active Anaconda environment P="$(conda info --json | grep default_prefix | cut -d\" -f4)" export CPATH=$P/include export LIBRARY_PATH=$P/lib export LDFLAGS=-Wl,-rpath,$P/lib # compile and re-install pyobjcryst scons -j4 build=debug develop
注意,所需libobjcryst库的anaconda包已经构建 用Python提供的C++编译器。这可能会导致不兼容 用系统C++。在这种情况下,请使用AcANDA DA C++来构建PyObjistST。