安装

依赖关系

pykep有以下内容强制性的运行时依赖项:

另外,pykep还有以下内容可选择的运行时依赖项:

  • 神经质的,在许多打印和相关实用程序中使用。

  • Matplotlib库在绘图中使用了许多相关的实用程序,

  • scikit学习,例如,在定相模块中使用

  • 麻木,用于加速某些纯python代码。

包装

pykep包可从多个平台上的各种包管理器获得。

康达

pykep可通过康达Linux、OSX和Windows的软件包管理器康达锻造厂为了通过conda安装pykep,只需添加康达锻造厂,然后可以立即安装pykep:

$conda config—添加通道conda forge$conda config—设置channel_priority strict$conda安装pykep

pykep的conda包由核心开发团队维护,当pykep的新版本发布时,它们会定期更新。

请参考conda文件有关如何设置和管理conda安装的说明。

皮普

pykep在Linux上也可以通过皮普包安装程序。使用pip安装pykep非常简单:

$pip安装pykep

如果您想为单个用户而不是整个系统安装pykep,这通常是一个好主意,您可以:

$pip install—用户pykep

一个更好的想法是利用Python的虚拟环境.

pykep的pip包由核心开发团队维护,当pykep的新版本发布时,它们会定期更新。

警告

但请注意,我们强烈地鼓励用户使用conda 而不是pip安装pykep。原因是pykep构建在一个中等复杂的C++库堆栈上,这些库必须与pip包中的pykep捆绑在一起,因为同一个C++库的多个不兼容版本最终可能会同时加载,从而导致崩溃和运行时行为不稳定。 conda包不存在此问题。

从源安装

您需要从源代码py安装:

  • 一个支持C++11的编译器(任何最新版本的GCC, Clang或MSVC都可以),

  • 蟒蛇安装,

  • 这个Boost库,

  • CMake公司,3.3版或更高版本。

在确保您的系统上安装了上述依赖项之后,您可以从GitHub发布页. 或者,如果你喜欢生活在最前沿,你可以通过吉特:

$git克隆https://github.com/esa/pykep.git

我们遵循通常的基于PR的开发工作流,因此pykep的主人分支通常保持工作状态。

下载py/kep源代码后,打开py/kep源代码建造目录和光盘投入其中。E、 g., 在类Unix系统上:

$ 光盘/路径/到/pykep$mkdir生成$ 光盘建造

一旦你进入建造目录中,您必须使用cmake公司. 您可以设置各种有用的CMake变量,例如:

  • CMAKE_BUILD_类型:生成类型(释放,调试,默认为释放.

  • CMAKE_INSTALL_前缀:pygmo将安装到的路径 (例如,默认为/usr/本地在类Unix平台上)。

  • CMAKE前缀路径:CMake在查找依赖项时将搜索的其他路径。

请咨询CMake文件有关CMake变量和选项的详细信息。

在编译pykep之前,我们需要安装开普勒工具箱(keplerian toolbox),这是大多数计算开销很大的例程的核心代码。在linux安装中,通常如下所示:

$cmake-不增压=打开\-DPYKEP_BUILD_KEP_工具箱=\-DPYKEP_BUILD_PYKEP公司=\-DPYKEP_BUILD_香料=\-DPYKEP_构建测试=\-DCMAKE_INSTALL_前缀=~/.本地\-DCMAKE_PREFIX_路径=~/.本地\-DCMAKE_BUILD_类型=释放\../;
$cmake—构建。--目标安装

下面是一个典型的输出示例:

[ 99%] 建造 目标 传播拉格朗日检验
[ 99%] 建造 目标 异常测试
[ 99%] 建造 目标 朗伯试验
[ 99%] 建造 目标 传播泰勒检验
[ 99%] 建造 目标 加载内核测试
[ 99%] 建造 目标 传播拉格朗日检验
[ 99%] 建造 目标 传播泰勒检验
[100%] 建造 目标 spice_planet_测试
[100%] 建造 目标 sgp4_测试
安装 这个 项目...
-- 安装 配置: “释放”

您还可以运行C++测试,键入:

$制作测试

希望能看到如下输出:

跑步 测验...
试验 项目 //达里奥/发展/皮克普/建造
    起点  1: 朗伯试验
1/12 试验  #1: 朗伯试验。。。。。。。。。。。。。。。。。。。。。过了1.19秒
    起点  2: 传播拉格朗日检验
2/12 试验  #2: 传播拉格朗日检验。。。。。。。。通过0.15秒
    起点  : 传播拉格朗日检验
/12 试验  #3: 传播拉格朗日检验。。。。。。通过0.20秒
    起点  4: 传播泰勒检验
4/12 试验  #4: 传播泰勒检验。。。。。。。。。。。。通过0.19秒
    起点  5: 传播泰勒J2检验
5/12 试验  #5: 传播泰勒测试。。。。。。。。。通过0.33秒
    起点  6: 传播泰勒乔巴测试
6/12 试验  #6: 传播泰勒乔巴测试。。。。。。通过0.22秒
    起点  7: 传播泰勒检验
7/12 试验  #7: 传播泰勒检验。。。。。。。。。。通过0.22秒
    起点  8: 腿关节试验
8/12 试验  #8: 腿关节试验。。。。。。。。。。。。。。。。。。。。。。。通过0.00秒
    起点  9: P4测试
9/12 试验  #9: sgp4_试验。。。。。。。。。。。。。。。。。。。。。。。。通过0.12秒
    起点 10: 异常测试
10/12 试验 #10: 异常测试。。。。。。。。。。。。。。。。。。。通过0.56秒
    起点 11: 内核负载测试
11/12 试验 #11: 加载内核测试。。。。。。。。。。。通过0.04秒
    起点 12: spice_planet_测试
12/12 试验 #12: 香料行星测试。。。。。。。。。。。。。。。。通过0.01秒

100% 测验 通过, 0 测验 失败 外面的 属于 12

总计 试验 时间 (真实的) =   3.24 

现在可以编译和安装pykep了。从安装 keplerian 工具箱的文件夹向后移动一级,然后创建一个新的生成目录:

$ 光盘..$mkdir构建\u pykep$ 光盘构建\u pykep

我们需要使用稍微不同的选项再次运行cmake:

$cmake-不增压=打开\-DPYKEP_BUILD_KEP_工具箱=\-DPYKEP_BUILD_PYKEP公司=\-DPYKEP_构建测试=\-DCMAKE_INSTALL_前缀=本地/~\-DCMAKE_PREFIX_路径 =本地/~\-DCMAKE_BUILD_类型=释放\../;

仔细观察终端中的消息,其中给出了安装路径,以检查是否找到了正确的python dist包或site packages目录。如果不是,则显式设置相关的cmake变量,例如`Boost_PYTHON37_LIBRARY_发布``PYTHON_可执行文件`.

验证安装

您可以通过运行测试套件来验证pykep是否已成功编译和安装。在 Python会话中,运行以下命令:

>>>进口 皮克普
>>>皮克普.测试.运行测试套件()

如果这些命令执行时没有任何错误,那么您的pykep安装就可以使用了。