菲斯和达尔马提亚的宽松包装

lapdog的Python项目详细描述


拉普狗

pypi

一款适合达尔马提亚人和菲斯人的宽松包装纸

先决条件

  • lapdog需要macos或linux。Windows不受官方支持
  • lapdog需要python>;=3.3
  • lapdog需要google cloud sdk,可以在这里安装。
    • 您的gcloud--version应该至少为252.0。如果不是,请运行gcloud components update
  • lapdog使用您的gcloud应用程序默认凭据
    • 在运行lapdog之前使用gcloud auth application default logingcloud config set account{account}
  • lapdog需要gcloud的alpha和beta套件
    • alpha和beta套件可以与gcloud components install alpha beta一起安装
  • (可选)lapdog用户界面需要node和npm,可以使用系统的包管理器安装node和npm
    • MacOS:Brew安装节点NPM
    • Linux:通过系统包管理器安装,或从源代码安装
    • lapdog要求node--version>;=10.15.1
    • lapdog要求npm--version>;=6.4.1

安装

  1. 通过pip安装lapdog:pip安装lapdog
    • 如果你已经安装了lapdog,你可以用 pip安装--升级lapdog
    • 如果您遇到pyyaml错误,请参见下面的pyyaml note
  2. (可选)启用LapDog用户界面:
    • 默认情况下,ui在本地运行。如果你在服务器上安装lapdog,你将 需要为端口4200和4201设置ssh隧道
    • 如果尚未安装节点和npm,请安装它们
      • 如果您使用的是Mac OS,请运行Brew安装节点NPM
    • 运行lapdog ui--install。这可能需要一段时间

用法

  1. lapdog可以在python中导入,作为dalmatian
    • lapdog提供了达尔马提亚语的超集功能
    • workspacemanagers与firecloud通信时,在lappog缓存数据中。 如果Firecloud遇到间歇性故障,则工作空间管理器可能 能够在脱机模式下继续运行。调用workspacemanager.sync()将 重新连接到FireCloud,推出脱机模式下排队的所有数据更新
    • workspacemanagers在lapdog中通过workspacemanager.execute()显示执行api。 执行不同于提交,因为它们直接在google上运行,结果是 之后上传回Firecloud
  2. lapdog可用作命令行工具。
    • 该工具提供了创建工作区、填充数据所需的功能, 导入或上载方法和配置,并提交作业(或直接执行它们)
    • 运行lapdog--help以获取可用命令的列表
  3. lapdog可通过一个交互式用户界面使用,该界面用于运行和 监视lapdog执行
    • 运行lapdog ui启动用户界面

作业执行

lapdog通过每个firecloud名称空间的专用google项目("引擎")执行作业。 lapdog引擎只能由帐单帐户adm为给定的命名空间初始化在。 要初始化新引擎,请与命名空间管理员联系,让他们运行lapdog initialize project

初始化引擎后,您必须向它注册:

  • 当您加载工作区时,lapdog用户界面将自动注册您 在您未注册到的命名空间中
  • lapdog python模块支持手动注册
    • 在未注册的命名空间中创建工作空间管理器时,将收到警告
    • 您还可以通过检查workspacemanager.gateway.registered的值来检查注册状态
    • 然后,您可以使用workspacemanager.gateway.register()进行注册
    • 如果注册由于任何firecloud错误而失败,只需等待几分钟 然后再次尝试调用register()
  • lapdog cli不支持注册。您可以通过ui注册,或者 python模块

工作区权限

在ui中,在每个页面的底部,您都会找到一封firecloud.org电子邮件。 这是一封代理组电子邮件,其中包含您和您的所有服务帐户。 要允许lapdog引擎运行作业,必须授予代理组电子邮件 对运行作业的FireCloud工作区的写访问。你可以批准这个团体 对将从中读取数据但作业无法执行的工作区的读取访问 在没有写权限的工作区中。代理组电子邮件可以通过 为用户(您的电子邮件)调用lapdog.cloud.proxy\u group

注意:由于FireCloud中的错误,如果组 在您注册到该命名空间之前,已被授予对工作区的访问权限 拉普狗引擎。如果你的代理邮件被授权访问工作区, 但是您的作业仍然失败,出现权限错误,请尝试删除访问权限,然后 重新批准。您可以在这里看到firecloud对这个bug报告的响应


路线图

参见里程碑页面 阅读开发路线图。

支持/支持Firecloud

专业人士
缺点

pyyaml注释

通常,在安装lapdog时,升级pyyaml时安装失败,因为 无法卸载当前的pyyaml版本。

这是因为一些旧版本的pyyaml是通过distutils 这会阻止软件包被卸载。新版本的pyyaml已经发布 通过可以成功卸载的设置工具。

要解决此问题,请导航到python站点包目录。网站包 目录通常以../lib/python{version}/site packages/结尾。确切位置 取决于您的平台、环境管理器和python配置。

找到此文件夹的一个简单方法是打开python,然后:

importyamlyaml

此表达式将计算并打印到yaml模块的路径,该模块将 在您的网站包目录中。

找到站点包目录后,必须删除以下两个目录:

删除后,您可以再次尝试lapdog的安装命令。

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

推荐PyPI第三方库


热门话题
java在一个问题被连续正确回答三次/并添加差异后,我如何将程序循环回开始   Java中未实例化的匿名类   java如何在Android中录制视频,只允许横向模式和最长时间录制时间   java从另一个活动发送实时消息   多线程java线程和互斥   java禁用Spring安全日志   JAVA伊奥。StreamCorruptedException:在与子级和父级ProcessBuilder通信时写入子级中的标准输出时,流头无效   使用Java(HttpURLConnection)对Restheart进行身份验证(对于Mongodb)   java如何解决Jenkins中的SAXParseException?   java为什么我需要mockito来测试Spring应用程序?   计算sin-cos和tan时缺乏精度(java)   java Hibernate。不同项目中相同一对一映射的不同行为   java图像滑块:如何使用JavaFX将图像放在另一个图像上   java Mockito在使用when时抛出NotAMockException   http Java servlet发送回响应