开发者安装及注意事项

如果下面没有显示内容,请在 /../../README 中阅读


usage/pipeline.svg

<a href=”http://mercury.bao.ac.cn:9006/mh/fdi/-/commits/master”><img alt=”pipeline status” src=”http://mercury.bao.ac.cn:9006/mh/fdi/badges/master/pipeline.svg” /></a>

小技巧

在末尾添加 --user 或使用 virtualenv 以避免干扰系统中 Python 的设置。

针对用户

如果需要使用 fdi,请从 PyPI 安装:

python3 -m pip install fdi

或从 git repo:

python3 -m pip install http://mercury.bao.ac.cn:9006/mh/fdi/-/archive/master/fdi-master.tar.gz

如果要安装 develop 依赖项:

python3 -m pip install fdi[DEV]

python3 -m pip install http://mercury.bao.ac.cn:9006/mh/fdi/-/archive/develop/fdi-develop.tar.gz#egg=fdi[DEV]

如果不需要运行测试,请删除 [DEV] 以节省时间和磁盘空间。

卸载

python3 -m pip uninstall fdi

对于开发人员(或那些不确定选择哪个的人)

安装

FDIINSTDIR=/tmp   # change this to your installation dir
cd $FDIINSTDIR
git clone http://mercury.bao.ac.cn:9006/mh/fdi.git
cd fdi
git checkout develop
make install EXT="[DEV]"

如果要安装 master 分支,请删除上面的 git checkout develop 行。

测试您的安装

make test

小技巧

例如,要将命令行参数传递给 pytest,请执行以下操作:

make test T='-k Bas'

测试 BaseProduct

生成 Python 产品源代码

fdi/dataset/resources 中的 YAML 模式文件重新生成 baseproduct.pyproduct.py

make py

学习/尝试 HTTP 池服务器 API

这些 API 记录在 fdi/httppool/schema/pools.yml 和 OpenAPI 3 中。运行它以查看并在服务器运行时尝试使用 Swagger API 文档:

http://127.0.0.1:5000/apidocs

修改/生成文档

如果您计划在 docs 目录中编译文档、生成图表、API 文件或 HTML 页面,请运行(分别按该顺序):

首先运行一次以安装必要的软件包:

python3 -m pip install -U -e .[PUB]

然后当你需要制作新的类图、API 文档或 HTML 页面时:

make docs_plots
make docs_api
make docs_html

生成的 HTML 页面位于 docs/html/index.html

注解

https://readthedocs.io 从存储库中的 docs/sphinx 中的源制作网页。本地生成的 HTML 页面不在 RTD 或存储库中。 但是,API 文件和绘图分别位于 api_static 子目录中。

运行服务器和快速测试

如果您打算在本地运行 pns 和/或 http pool server,请首先安装依赖项:

python3 -m pip install -e .[SERV]
make installpns

要测试您的 pns 服务器安装,请在一个窗口中运行:

make runserver

在另一个窗口运行:

make testpns

要测试您的 httppool 服务器安装,请确保停止其他服务器,例如上面的 pnsserver,然后在一个窗口中运行:

make runpoolserver

在另一个窗口运行:

make testhttp

Docker 容器

fdi

获取运行 FDI 环境的 fdi docker:

docker pull mhastro/fdi

或者在本地构建镜像:

make build_docker

启动并登录

make launch_docker
make it

httppool

还可以使用由 Ubuntu 和 apache 制作的 HttpPool 服务器:

docker pull mhastro/httppool

要在本地构建映像:

make build_server

启动并连接

make launch_server
curl -i http://127.0.0.1:9884/v0.8/

在 fdi 的包根目录下运行上面的命令。构建和启动命令需要一个名为 .secret 的文件。 这是一个例子:

HOST_PORT-9884
HOST_USER-...
HOST_PASS-...
MQ_HOST-123.45.67.89
MQ_PORT-9876
MQ_USER-...
MQ_PASS-...

更多

更多例子见 tests/test_*.py

readthedocs.io 上阅读有关包介绍、描述、快速入门和 API 文档的更多信息。