Be公用事业

sermos-utils的Python项目详细描述


塞尔莫斯乌蒂斯

与Sermos交互的实用程序。在

部署

先决条件

要将应用程序部署到Sermos,有几个先决条件:

  1. 已创建和配置部署环境
  2. 已为该部署发出access key
  3. 你的应用程序是一个具有标准结构的有效Python包(见下文)
  4. 您有一个sermos.yaml文件,其中包含定义的API端点、worker等
  5. 您的应用程序将sermos-utils作为依赖项,并已安装。在

部署

可以通过两种方式启动Sermos部署:以编程方式或使用 CLI工具。在

建议将访问密钥保留在环境中,并设置 环境中的客户端包目录也是为了方便。在

SERMOS_ACCESS_KEY=abc123
SERMOS_CLIENT_PKG_NAME=your_package

编程部署

以编程方式调用管道(例如,作为构建管道的一部分)可以 如下所示(假设访问密钥/客户端包目录 可在环境中按上述说明提供)。在

^{pr2}$

CLI部署

对于基于cli的部署,安装了sermos_deploy命令 作为sermos-utils包的一部分。在

honcho run -e .env sermos_deploy

部署状态

假设您的环境是按照上面Deployment部分中的注释设置的:

程序状态检查

from sermos_utils.deploy import SermosDeploy

sd = SermosDeploy()
status = sd.get_deployment_status()
print(status)

CLI状态检查

honcho run -e .env sermos_status

正确的Python包结构

假设您的软件包名为“我的客户”:

/path/to/codebase/
    my-sermos-client/
        setup.py
        my_sermos_client/
            __init__.py
            sermos.yaml

my_sermos_client/__init__.py只有一个要求,即包含 指定为变量__version__的应用程序版本,例如:

__version__ = '0.1.0'

通常的做法是在setup.py文件中使用该值,例如

_version_re = re.compile(r'__version__\s+=\s+(.*)')
with open('my_sermos_client/__init__.py', 'rb') as f:
    __version__ = str(ast.literal_eval(_version_re.search(
        f.read().decode('utf-8')).group(1)))

地方发展

Sermos以两种方式提供本地开发环境:

  1. 本地“沙盒”环境
  2. 代理到部署数据库的云连接环境

有关详细信息,请参见sermos-utils/dev/README.md。在

测试

要运行测试,您需要在您的系统上运行pyenv,并且tox在 你的环境。在

有关正确安装pyenv的说明,请参阅RhoAI文档。在

安装pyenv后,安装tox

$ pip install tox

然后在pyenv中安装不同的python版本

$ pyenv install 3.7.4

现在,运行测试:

$ tox

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何向第二个组合框模型项添加数组值从第一个组合框所选项获取数组名称?   使用Java与WebSphere的SSL握手错误   eclipse线程“main”Java中的第一个Java程序异常。lang.NoClassDefFoundError   java将Javafx应用作为Web应用移植的最佳方式   IDE的java右JVM文件夹   java如何在基本适配器中停止文本到语音   java If block使用substring和equals方法以假值执行   在本例中,如何在java中返回多个值?   java第二个主类在maven构建期间覆盖第一个主类   如何在java中设置运行时ArrayList的泛型类型?   java从主机读取文件