安装#
安装 astropy
#
如果您是新手和/或不熟悉 Python virtual environments ,那么我们建议首先安装 Anaconda Distribution 。它可以在所有平台(Linux、Mac、Windows)上运行,并在用户目录中安装一个功能齐全的科学Python,而不需要根权限。
使用PIP#
警告
Anaconda Python发行版的用户应遵循 使用Conda .
要安装 astropy
使用 pip ,Run::
python -m pip install astropy
如果要确保现有的依赖项都没有升级,还可以执行以下操作:
python -m pip install astropy --no-deps
另一方面,如果您想要安装 astropy
以及推荐的或甚至所有可用的可选 dependencies ,您可以::
python -m pip install "astropy[recommended]"
或:
python -m pip install "astropy[all]"
在大多数情况下,这将安装一个预编译版本(称为 轮 )但如果您使用的是最新版本的Python,如果新版本的astropy刚刚发布,或者您正在为一个不常见的平台构建astropy,那么astropy将从源文件安装。注意,在这种情况下,您需要一个C编译器(例如。, gcc
或 clang
)待安装(参见 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
.
如果您想要安装 astropy
以及推荐的或所有可用的可选 dependencies ,您可以::
conda install --channel conda-forge --channel defaults scipy matplotlib
或:
conda install --channel conda-forge --channel defaults scipy matplotlib \
h5py beautifulsoup4 html5lib bleach pandas sortedcontainers \
pytz setuptools mpmath bottleneck jplephem asdf-astropy pyarrow
也可以运行测试(见下文)和支持 建筑文件 使用以下内容。我们使用 pip
以确保获得与最新版本兼容的最新版本 pytest
和 sphinx
发布:
python -m pip install pytest-astropy sphinx-astropy
警告
尝试使用 pip 升级的安装 astropy
它本身可能会导致安装损坏。
测试已安装 astropy
#
请参阅 latest documentation on how to test your installed version of astropy 。
要求#
astropy
有以下严格要求:
Python 3.10 or later
NumPy <2,>=1.22 or later
PyERFA >=2.0.1.1 or later
PyYAML >=3.13 或更晚
packaging >=19.0 or later
astropy
还取决于其他一些包的可选功能。以下是特别推荐的:
SciPy >=1.5 or later: To power a variety of features in several modules.
Matplotlib !=3.4.0,!=3.5.2,>=3.3 or later: To provide plotting functionality that
astropy.visualization
enhances.
进一步的依赖关系提供了更具体的功能:
BeautifulSoup: 阅读
Table
HTML文件中的对象。xmllint: 验证VOTABLE XML文件。这是一个安装在Python外部的命令行工具。
pandas: 转换
Table
对象从/到 Pandas 数据帧对象。需要0.14或更高版本才能使用 Pandas 读/写I/O函数Table
物体。sortedcontainers 为了更快
SCEngine
索引引擎Table
,但在某些情况下,这可能仍然比默认索引引擎慢。pytz: 指定和转换时区。
jplephem: 检索太阳系物体的JPL星历。
setuptools: 用于发现用于将装配工插入的入口点
astropy.modeling.fitting
.mpmath: 用于#年的‘Kraft-Burrow-Nousek’区间
poisson_conf_interval
。asdf-astropy >=0.3 或更高版本:允许将各种Astroy类序列化为可移植的、分层的、人类可读的表示形式。
bottleneck: 改进了sigma裁剪的性能和其他可能需要计算具有NaN值的数组的统计信息的功能。
certifi: 从HTTPS或FTP+TLS站点下载文件时非常有用,以防Python无法在您的系统上找到最新的根CA证书;此包通常已包含在许多Python安装中(例如,作为
requests
包)。fsspec >=2023.4.0 or later: Enables access to subsets of remote FITS files without having to download the entire file.
s3fs >=2023.4.0 or later: Enables access to files hosted in AWS S3 cloud storage.
但是,请注意,只有在需要这些特定功能时,才需要安装这些软件包。 astropy
即使未安装这些依赖项也将导入。
测试时可以选择使用以下软件包:
pytest-xdist: 用于分布式测试。
pytest-mpl: 用于测试Matplotlib图形。
objgraph: 仅用于测试参考泄漏的测试。
IPython >=4.2 or later: Used for testing the notebook interface of
Table
.coverage: 用于代码覆盖率测量。
skyfield: 用于测试太阳系坐标。
sgp4: 用于测试卫星位置。
tox: 用于自动化测试和文档构建。
从源代码生成#
先决条件#
您将需要一个编译器套件和用于Python的开发头,以便构建 astropy
。您不需要安装任何其他特定的构建依赖项(例如 Cython ),因为这些都是在 pyproject.toml
文件,并将通过PIP自动安装到临时构建环境中。
Linux的先决条件#
在Linux上,使用包管理器进行分发通常是确保您具备构建的先决条件的最简单方法 astropy
. 为了从源代码构建,您需要Linux发行版的Python开发包以及pip。
对于Debian/Ubuntu::
sudo apt-get install python3-dev python3-numpy-dev python3-setuptools cython3 python3-pytest-astropy
对于Fedora/RHEL::
sudo yum install python3-devel python3-numpy python3-setuptools python3-Cython python3-pytest-astropy
备注
正在生成的开发人员版本 astropy
可能需要比发行版存储库中可用的更新版本的上述软件包。如果是这样,您可以尝试一个更为更新的发行版(例如Debian testing
),或使用安装包的更多最新版本 pip
或 conda
在虚拟环境中。
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 https://github.com/astropy/astropy.git
如果您希望参与开发 astropy
,请参阅 发展 。本文档仅介绍安装所需的基本知识 astropy
。
建造和安装#
构建和安装 astropy
(从源树的根目录)::
python -m pip install .
如果以这种方式安装并对代码进行了更改,则需要重新运行install命令以反映更改。或者,您可以使用:
python -m pip install --editable .
哪个安装 astropy
在开发/可编辑模式下——这意味着代码中的更改会立即反映到已安装的版本中。
故障排除#
如果出现错误,指出您没有正确的安装权限 astropy
变成默认值 site-packages
目录,您可以尝试使用以下方式安装:
python -m pip install --user .
它将安装到主目录的默认目录中。
如果您在指导使用选项时出错 -std=c99
或 -std=gnu99
,您可以尝试使用::进行安装
CFLAGS='-std=c99' python -m pip install --editable .
这是与CentOS7配合使用所必需的。
外部C库#
这个 astropy
source附带了许多库的C源代码。默认情况下,这些内部副本用于生成 astropy
. 但是,如果希望使用其中一个库的系统范围安装,可以使用模式设置环境变量 ASTROPY_USE_SYSTEM_???
到 1
在构建/安装程序包时。
例如,构建 astropy
使用系统的expat解析器库,使用:
ASTROPY_USE_SYSTEM_EXPAT=1 python -m pip install --editable .
要使用所有系统库进行构建,请使用:
ASTROPY_USE_SYSTEM_ALL=1 python -m pip install --editable .
当前与 astropy
包括:
安装的预构建开发版本 astropy
#
大多数夜晚都有一个发展快照 astropy
将会被汇编。如果您想要针对Astery的开发版本进行测试,但又不想自己构建它,那么这很有用。您可以看到 available astropy dev snapshots page 以找出目前提供的是什么。
安装这些“恶作剧” astropy
可以通过使用 pip
**
python -m pip install --upgrade --index-url https://pypi.anaconda.org/astropy/simple astropy --pre
额外的索引URL告诉我们 pip
要检查 pip
Pypi.anaconda.org上的索引,其中存储了夜生活,以及 --pre
命令告诉 pip
安装预发布版本(在本例中 .dev
版本)。
建筑文件#
备注
通常不需要构建文档,除非您正在编写新文档或无法访问internet,因为Astropy文档的最新(和存档)版本应在 docs.astropy.org .
依赖关系#
构建文档需要 astropy
源代码和一些附加的包。构建文档是最简单的方法 tox 详述 建筑物 . 如果您愿意这样做,可以跳过本节的其余部分。
另一方面,如果希望手动调用Sphinx来构建文档,则需要确保安装了许多依赖项。如果使用conda,安装依赖项的最简单方法是使用:
conda install --channel conda-forge sphinx-astropy
如果没有conda,可以通过指定 [docs]
安装时 astropy
带pip::
python -m pip install --editable ".[docs]"
您也可以安装 sphinx-astropy 带pip的包装:
python -m pip install sphinx-astropy
除了提供Astropy包之外,还提供了一个自动获取组件包的通用方法:
Sphinx -我们用来构建文档的主包
astropy-sphinx-theme -使用的默认“引导”主题
astropy
以及一些附属的包裹sphinx-automodapi -使自动生成API文档变得容易的扩展
sphinx-gallery -生成示例库的扩展
numpydoc -用于解析NumPyDoc格式的文档字符串的扩展
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
备注
如果您拥有多核处理器,并且希望利用它来构建文档,则可以执行以下操作:
cd docs
SPHINXOPTS="-j N" make html
哪里 N
是要在其上分发生成的进程数,如 sphinx-build Documentation 。
文档将在同一位置生成。请注意,它使用已安装的Asterpy版本,因此如果您希望确保使用当前的存储库版本,则需要使用以下命令进行安装::
python -m pip install --editable ".[docs]"
在换成 docs
目录。
第二种方法是,可以使用以下命令生成LaTeX文档:
make latex
Latex 文件 Astropy.tex
将在 docs/_build/latex
目录,并且可以使用 pdflatex
.
报告问题/请求功能#
如上所述,构建文档依赖于许多Sphinx扩展和其他包。因为不可能总是知道哪个包导致了问题,或者需要实现新功能,所以可以在 core astropy package issue tracker . 但是,如果您愿意,您也可以在存储库中为某些依赖项打开问题:
对于与文档外观相关的请求/问题(例如与CSS相关),您可以在 astropy-sphinx-theme issue tracker .
对于与自动生成的API文档相关的请求/问题,这些请求/问题似乎是一般问题,而不是特定docstring的问题,可以使用 sphinx-automodapi issue tracker .
对于与默认配置相关的问题(例如默认启用了哪些扩展),可以使用 sphinx-astropy issue tracker .
测试的源代码生成 astropy
#
请参阅 latest documentation on how to run the tests in a source checkout of astropy