安装¶
要求¶
astropy
有以下严格要求:
astropy
还取决于其他软件包的可选功能:
scipy 1.1 或更高版本:为多个模块中的各种功能提供电源。
BeautifulSoup: 阅读
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
即使未安装这些依赖项也将导入。
测试时可以选择使用以下软件包:
pytest-xdist: 用于分布式测试。
pytest-mpl: 用于测试Matplotlib图形。
objgraph: 仅用于测试参考泄漏的测试。
coverage: 用于代码覆盖率测量。
skyfield: 用于测试太阳系坐标。
spgp4: 用于测试卫星位置。
tox: 用于自动化测试和文档构建。
安装 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编译器(例如。, 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
.
强烈建议您使用以下命令安装所有可选依赖项:
conda install -c astropy -c defaults \
scipy h5py beautifulsoup4 html5lib bleach pyyaml pandas sortedcontainers \
pytz matplotlib setuptools mpmath bottleneck jplephem asdf
也可以运行测试(见下文)和支持 建筑文件 使用以下内容。我们使用 pip
以确保获得与最新版本兼容的最新版本 pytest
和 sphinx
发布:
pip install pytest-astropy sphinx-astropy
警告
尝试使用 pip 升级的安装 astropy
它本身可能会导致安装损坏。
测试已安装 astropy
¶
测试已安装的 astropy
是否正确运行是要使用 astropy.test() 功能:
import astropy
astropy.test()
测试应该运行并打印出任何失败,您可以在 Astropy issue tracker .
如果在 astropy
源分发。看 测试的源代码生成 astropy 了解如何从源代码目录运行测试,或 运行试验 了解更多详细信息。
从源代码生成¶
先决条件¶
为了构建 astropy
. 您不需要安装任何其他特定的生成依赖项(例如 Cython 或 jinja2 )因为这些都是在 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
),或使用安装包的更多最新版本 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
(从源树的根目录)::
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
包括:
安装 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 . 但是,如果您愿意,您也可以在存储库中为某些依赖项打开问题:
对于与文档外观相关的请求/问题(例如与CSS相关),您可以在 astropy-sphinx-theme issue tracker .
对于与自动生成的API文档相关的请求/问题,这些请求/问题似乎是一般问题,而不是特定docstring的问题,可以使用 sphinx-automodapi issue tracker .
对于与默认配置相关的问题(例如默认启用了哪些扩展),可以使用 sphinx-astropy issue tracker .