开发者安装及注意事项
目录
如果下面没有显示内容,请在 /../../README 中阅读
<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.py
和 product.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 文档的更多信息。