建筑Astropy及其子包

生成过程当前使用 setuptools 包来构建和安装astropy内核(以及使用该模板的任何附属包)。典型的是,有一个 setup.py 用于整个 astropy 包裹。为了更容易为单个子包设置C扩展,我们使用 extension-helpers ,它允许在每个子包中定义扩展。

扩展助手的工作方式是 setup_package.py 文件,然后查找名为 get_extensions 在这些文件里。此函数应返回 setuptools.Extension 对象,并将它们组合到要构建的扩展的整体列表中。

对于某些字符串解析任务,Astropy使用 PLY 工具。PLY生成加速解析过程的表,这些表被签入源代码,这样就不必重新生成它们。这些表可以通过 lextabparsetab 以他们的名义。要重新生成这些文件(例如,如果PLY的新版本与Astropy捆绑在一起,或者某些解析代码发生了更改),则需要删除表并重新导入并运行Astropy的相应部分。有关详细信息,请参见 parsetablextab 文件夹。

在窗户上建造

最方便的选择是使用Miniconda的Python安装。如果您喜欢类似Unix的命令,那么随Git一起安装的gitbash可以很好地补充Miniconda,只要Miniconda安装时带有使其在系统范围内可用的选项(安装程序不建议使用该选项)。

自从 astropy 包含C扩展,您还需要安装Microsoft Visual Studio(最新可用的应该可以工作),以便Python可以访问SystemC编译器。

一旦一切都按上述方式设置好,就可以继续构建 astropy 来源于 conda 环境与操作系统无关。例如:

  • 创建新的 conda 环境。

  • astropy 代码签出目录。

  • 如果还没有,请从主存储库获取所有标记。如果没有最新标记,则开发人员版本号将错误。

  • pip install -e . 建造 astropy .