建筑Astropy及其子包¶
生成过程当前使用 setuptools 包来构建和安装astropy内核(以及使用该模板的任何附属包)。典型的是,有一个 setup.py
用于整个 astropy
包裹。为了更容易为单个子包设置C扩展,我们使用 extension-helpers ,它允许在每个子包中定义扩展。
扩展助手的工作方式是 setup_package.py
文件,然后查找名为 get_extensions
在这些文件里。此函数应返回 setuptools.Extension
对象,并将它们组合到要构建的扩展的整体列表中。
对于某些字符串解析任务,Astropy使用 PLY 工具。PLY生成加速解析过程的表,这些表被签入源代码,这样就不必重新生成它们。这些表可以通过 lextab
或 parsetab
以他们的名义。要重新生成这些文件(例如,如果PLY的新版本与Astropy捆绑在一起,或者某些解析代码发生了更改),则需要删除表并重新导入并运行Astropy的相应部分。有关详细信息,请参见 parsetab
和 lextab
文件夹。
在窗户上建造¶
最方便的选择是使用Miniconda的Python安装。如果您喜欢类似Unix的命令,那么随Git一起安装的gitbash可以很好地补充Miniconda,只要Miniconda安装时带有使其在系统范围内可用的选项(安装程序不建议使用该选项)。
自从 astropy
包含C扩展,您还需要安装Microsoft Visual Studio(最新可用的应该可以工作),以便Python可以访问SystemC编译器。
一旦一切都按上述方式设置好,就可以继续构建 astropy
来源于 conda
环境与操作系统无关。例如:
创建新的
conda
环境。去
astropy
代码签出目录。如果还没有,请从主存储库获取所有标记。如果没有最新标记,则开发人员版本号将错误。
跑
pip install -e .
建造astropy
.