安装

pygeoapi很容易安装在许多环境中。无论您是用户、管理员还是开发人员,下面将根据您的需求提供多种方法来启动和运行pygeoapi。

需求和依赖性

pygeoapi运行在python3上。

核心依赖项包含在给定的pygeoapi安装过程中。根据平台的不同,下面将描述更具体的需求细节。

对于开发者和确实不耐烦的人

python3 -m venv pygeoapi
cd pygeoapi
. bin/activate
git clone https://github.com/geopython/pygeoapi.git
cd pygeoapi
pip3 install --upgrade pip
pip3 install -r requirements.txt
python3 setup.py install
cp pygeoapi-config.yml example-config.yml
vi example-config.yml  # edit as required
export PYGEOAPI_CONFIG=example-config.yml
export PYGEOAPI_OPENAPI=example-openapi.yml
pygeoapi openapi generate $PYGEOAPI_CONFIG > $PYGEOAPI_OPENAPI
pygeoapi serve
curl http://localhost:5000

pip

PyPI package info

pip3 install pygeoapi

Docker

使用DockerHub

Docker image

docker pull geopython/pygeoapi:latest

使用GitHub容器注册表

Docker image

docker pull ghcr.io/geopython/pygeoapi:latest

库伯

备注

如果使用的是PostgreSQL功能提供程序,建议将Nginx入口亲和模式设置为Persistent;请参见下面的入口示例。

---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ${KUBE_NAMESPACE}
labels:
   app: ${KUBE_NAMESPACE}
annotations:
   nginx.ingress.kubernetes.io/affinity: "cookie"
   nginx.ingress.kubernetes.io/session-cookie-name: ${KUBE_NAMESPACE}
   nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
   nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
   nginx.ingress.kubernetes.io/ssl-redirect: "false"
   nginx.ingress.kubernetes.io/affinity-mode: persistent
   nginx.ingress.kubernetes.io/session-cookie-hash: sha1
spec:
ingressClassName: nginx
rules:
- host: ${APP_HOSTNAME}
   http:
      paths:
      - path: /
      pathType: Prefix
      backend:
         service:
            name: ${KUBE_NAMESPACE}
            port:
            number: ${CONTAINER_PORT}

Conda

Conda package info

conda install -c conda-forge pygeoapi

UbuntuGIS

UbuntuGIS package (stable)

UbuntuGIS package (unstable)

apt-get install python3-pygeoapi

FreeBSD

FreeBSD port

pkg install py-pygeoapi

总结

祝贺!无论您选择了上述哪种方法,您都已成功地将pygeoapi安装到您的系统中。