安装

要求

astropy 有以下严格要求:

  • Python 3.7 或者以后

  • Numpy 1.17.0 或者以后

  • PyERFA 1.7 或者以后

astropy 还取决于其他软件包的可选功能:

  • scipy 1.1 或更高版本:为多个模块中的各种功能提供电源。

  • h5py: 读/写 Table 对象从/到HDF5文件。

  • BeautifulSoup: 阅读 Table HTML文件中的对象。

  • html5lib: 阅读 Table 对象使用 pandas 读取器。

  • bleach: 在中禁用HTML转义时用于清理文本 Table HTML编写器。

  • PyYAML 3.13 或以后:读/写 Table 对象从/到增强的CSV ASCII表格式,并序列化各种格式的mixin。

  • xmllint: 验证VOTABLE XML文件。这是一个安装在Python外部的命令行工具。

  • pandas: 转换 Table 对象从/到 Pandas 数据帧对象。需要0.14或更高版本才能使用 Pandas 读/写I/O函数 Table 物体。

  • sortedcontainers 为了更快 SCEngine 索引引擎 Table ,但在某些情况下,这可能仍然比默认索引引擎慢。

  • pytz: 指定和转换时区。

  • jplephem: 检索太阳系物体的JPL星历。

  • matplotlib 3.0 或更高版本:提供打印功能 astropy.visualization 增强。

  • setuptools: 用于发现用于将装配工插入的入口点 astropy.modeling.fitting .

  • mpmath: 用于“卡夫-伯罗斯-努塞克”区间 poisson_conf_interval .

  • asdf 2.6.0 或更高版本:使各种Astropy类序列化为可移植的、分层的、人类可读的表示。

  • bottleneck: 改进了sigma裁剪的性能和其他可能需要计算具有NaN值的数组的统计信息的功能。

但是,请注意,只有在需要这些特定功能时,才需要安装这些软件包。 astropy 即使未安装这些依赖项也将导入。

测试时可以选择使用以下软件包:

安装 astropy

如果您是Python新手和/或不熟悉 Python virtual environments ,然后我们建议从安装 Anaconda Distribution . 它适用于所有平台(linux、Mac、Windows),并且在用户目录中安装一个功能齐全的scientific Python,而不需要root权限。

使用PIP

警告

Anaconda Python发行版的用户应遵循 使用Conda .

安装 astropy with pip 运行:

pip install astropy

如果要确保现有的依赖项都没有升级,还可以执行以下操作:

pip install astropy --no-deps

另一方面,如果您想安装 astropy 除了所有可用的可选依赖项外,还可以执行以下操作:

pip install astropy[all]

在大多数情况下,这将安装一个预编译版本(称为 )但如果您使用的是最新版本的Python,如果新版本的astropy刚刚发布,或者您正在为一个不常见的平台构建astropy,那么astropy将从源文件安装。注意,在这种情况下,您需要一个C编译器(例如。, gccclang )待安装(参见 Building from source 以确保安装成功。

如果你得到了 PermissionError 这意味着您没有在Python安装中安装新包所需的管理权限。在这种情况下,您可以考虑使用 --user 选项将包安装到主目录中。您可以在 pip documentation .

或者,如果您打算在其他使用 astropy ,例如附属软件包,请考虑安装 astropy 变成一个 virtualenv .

not 安装 astropy 或其他第三方软件包使用 sudo 除非你充分意识到风险。

使用Conda

安装 astropy 使用conda run::

conda install astropy

astropy 默认情况下与 Anaconda Distribution . 要更新到最新版本,请运行:

conda update astropy

新版本的 astropy 当一个包可用于conda时。您可以使用检查可用版本的列表 conda search astropy .

强烈建议您使用以下命令安装所有可选依赖项:

conda install -c astropy -c defaults \
  scipy h5py beautifulsoup4 html5lib bleach pyyaml pandas sortedcontainers \
  pytz matplotlib setuptools mpmath bottleneck jplephem asdf

也可以运行测试(见下文)和支持 建筑文件 使用以下内容。我们使用 pip 以确保获得与最新版本兼容的最新版本 pytestsphinx 发布:

pip install pytest-astropy sphinx-astropy

警告

尝试使用 pip 升级的安装 astropy 它本身可能会导致安装损坏。

测试已安装 astropy

测试已安装的 astropy 是否正确运行是要使用 astropy.test() 功能:

import astropy
astropy.test()

测试应该运行并打印出任何失败,您可以在 Astropy issue tracker .

如果在 astropy 源分发。看 测试的源代码生成 astropy 了解如何从源代码目录运行测试,或 运行试验 了解更多详细信息。

从源代码生成

先决条件

为了构建 astropy . 您不需要安装任何其他特定的生成依赖项(例如 Cythonjinja2 )因为这些都是在 pyproject.toml 文件,并将由pip自动安装到临时构建环境中。

Linux的先决条件

在Linux上,使用包管理器进行分发通常是确保您具备构建的先决条件的最简单方法 astropy . 为了从源代码构建,您需要Linux发行版的Python开发包以及pip。

对于Debian/Ubuntu::

sudo apt-get install python3-dev python3-numpy-dev python3-setuptools cython3 python3-jinja2 python3-pytest-astropy

对于Fedora/RHEL::

sudo yum install python3-devel python3-numpy python3-setuptools python3-Cython python3-jinja2 python3-pytest-astropy

注解

正在生成的开发人员版本 astropy 可能需要比发行版存储库中可用的更新版本的上述软件包。如果是这样,您可以尝试一个更为更新的发行版(例如Debian testing ),或使用安装包的更多最新版本 pipconda 在虚拟环境中。

Mac OS X的先决条件

在MacOS X上,您需要XCode命令行工具,可以使用以下方法安装:

xcode-select --install

按照屏幕上的说明安装所需的命令行工具。请注意,你是这样做的 not 需要安装完整的XCode发行版(假设您使用的是MacOSX10.9或更高版本)。

这个 instructions for building NumPy from source 是设置环境以构建Python包的好资源。

获取源包

源程序包

的最新稳定源程序包 astropy 可以是 downloaded here .

开发知识库

的最新开发版本 astropy 可以使用以下命令从GitHub克隆::

git clone git://github.com/astropy/astropy.git

如果您希望参与开发 astropy开发人员文档 . 本文档仅介绍安装所需的基本知识 astropy .

建造和安装

构建和安装 astropy (从源树的根目录)::

pip install .

如果以这种方式安装并对代码进行了更改,则需要重新运行install命令以反映更改。或者,您可以使用:

pip install -e .

哪个安装 astropy 在开发/可编辑模式下——这意味着代码中的更改会立即反映到已安装的版本中。

故障排除

如果出现错误,指出您没有正确的安装权限 astropy 变成默认值 site-packages 目录,您可以尝试使用以下方式安装:

pip install . --user

它将安装到主目录的默认目录中。

外部C库

这个 astropy source附带了许多库的C源代码。默认情况下,这些内部副本用于生成 astropy . 但是,如果希望使用其中一个库的系统范围安装,可以使用模式设置环境变量 ASTROPY_USE_SYSTEM_???1 在构建/安装程序包时。

例如,构建 astropy 使用系统的expat解析器库,使用:

ASTROPY_USE_SYSTEM_EXPAT=1 pip install -e .

要使用所有系统库进行构建,请使用:

ASTROPY_USE_SYSTEM_ALL=1 pip install -e .

当前与 astropy 包括:

  • wcslib 看见 cextern/wcslib/README 对于捆绑版本。要使用系统版本,请设置 ASTROPY_USE_SYSTEM_WCSLIB=1 .

  • cfitsio 看见 cextern/cfitsio/changes.txt 对于捆绑版本。要使用系统版本,请设置 ASTROPY_USE_SYSTEM_CFITSIO=1 .

  • expat 看见 cextern/expat/README 对于捆绑版本。要使用系统版本,请设置 ASTROPY_USE_SYSTEM_EXPAT=1 .

安装 astropy 进入CASA

如果你想使用 astropy 里面 CASA ,最简单的方法是从CASA内部进行。

首先,我们需要确保 pip 已安装。正常启动CASA,然后键入:

CASA <2>: from setuptools.command import easy_install

CASA <3>: easy_install.main(['--user', 'pip'])

现在,退出CASA并重新打开它,然后键入以下命令进行安装 astropy ::

CASA <2>: import subprocess, sys

CASA <3>: subprocess.check_call([sys.executable, '-m', 'pip', 'install', '--user', 'astropy'])

然后再次关闭CASA并打开它,您应该能够导入 astropy ::

CASA <2>: import astropy

任何 astropy 附属软件包的安装方式相同(例如 spectral-cube 或其他对射电天文学有用的软件包)。

注解

上述说明尚未在所有系统上进行测试。我们知道有一些例子是可行的,但这并不能保证这将在所有系统上都有效。如果你安装 astropy 开始遇到CASA的问题,请看 known CASA issues 如果你没有遇到你的问题,请张贴一个新的。

建筑文件

注解

通常不需要构建文档,除非您正在编写新文档或无法访问internet,因为Astropy文档的最新(和存档)版本应在 docs.astropy.org .

依赖关系

构建文档需要 astropy 源代码和一些附加的包。构建文档是最简单的方法 tox 详述 建筑物 . 如果您愿意这样做,可以跳过本节的其余部分。

另一方面,如果希望手动调用Sphinx来构建文档,则需要确保安装了许多依赖项。如果使用conda,安装依赖项的最简单方法是使用:

conda install -c astropy sphinx-astropy

如果没有conda,可以通过指定 [docs] 安装时 astropy 带pip::

pip install -e '.[docs]'

您也可以安装 sphinx-astropy 带pip的包装:

pip install sphinx-astropy

除了提供Astropy包之外,还提供了一个自动获取组件包的通用方法:

  • Sphinx -我们用来构建文档的主包

  • astropy-sphinx-theme -使用的默认“引导”主题 astropy 以及一些附属的包裹

  • sphinx-automodapi -使自动生成API文档变得容易的扩展

  • sphinx-gallery -生成示例库的扩展

  • numpydoc -解析NumPyDoc格式的docstring的扩展

  • pillow -在其中一个例子中使用

  • Graphviz -生成继承图(可以作为conda包或系统安装使用,但不能在pip中使用)

注解

两者 pip 以上安装方法不包括 Graphviz . 如果不单独安装此包,则文档生成过程将生成大量冗长的警告(这可能会模糊真实的警告),并且不会生成继承图。

建筑物

有两种方法可以构建Astropy文档。最简单的方法是执行以下tox命令(从 astropy 源目录)::

tox -e build_docs

如果执行此操作,则不需要安装任何文档依赖项,因为这将自动完成。文档将构建在 docs/_build/html 目录,并且可以通过将web浏览器指向 docs/_build/html/index.html .

或者,您可以:

cd docs
make html

文档将在同一位置生成。请注意,这使用的是已安装的astropy版本,因此,如果要确保使用当前存储库版本,则需要使用以下命令进行安装:

pip install -e .[docs]

在换成 docs 目录。

第二种方法是,可以使用以下命令生成LaTeX文档:

make latex

Latex 文件 Astropy.tex 将在 docs/_build/latex 目录,并且可以使用 pdflatex .

报告问题/请求功能

如上所述,构建文档依赖于许多Sphinx扩展和其他包。因为不可能总是知道哪个包导致了问题,或者需要实现新功能,所以可以在 core astropy package issue tracker . 但是,如果您愿意,您也可以在存储库中为某些依赖项打开问题:

测试的源代码生成 astropy

在的源签出中运行测试的最简单方法 astropy 是使用 tox ::

tox -e test-alldeps

也有其他方法 运行试验 如果你想对测试过程有更多的控制。