问题标签 [pybuilder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
962 浏览

python - 运行时 PyBuilder “ModuleNotFoundError: No module named”

我在玩 PyBuilder,我一定是遗漏了一些东西,或者误解了 PyBuilder 的工作原理。在我的测试应用程序中,我正在导入 pdfrw 库。我已经通过 pip 安装了它,一切正常。但是,我决定尝试在新的 venv 中重新开始,而不是先通过 pip 安装,以查看 PyBuilder 是否引入了依赖项。当我运行 pyb 时它运行良好,没有错误,但是当我尝试从目标目录运行代码时,它给我一个错误“ModuleNotFoundError:没有名为 pdfrw 的模块”。

我习惯于使用 Maven 和 Gradle 进行 Java 开发,但这是我第一次涉足 Python 的依赖管理。如果我只是误解了 PyBuilder 可以做什么,或者我只是在配置中遗漏了一些东西,谁能告诉我?这是 pyb 引用的简单 build.py 脚本的副本:

任何帮助将不胜感激。

谢谢,

克里斯

0 投票
1 回答
627 浏览

python - PyBuilder - 当测试失败或覆盖率太低时如何继续?

来自 maven,如果在 pybuilder 中有一个配置选项,可以让我在测试失败或测试覆盖率太低时继续,那就太好了。

我想知道是否存在这样的选项 - 在文档中没有找到它: PyBuilder Plugins Documentation

背景:
我计划在 jenkins 中使用 pybuilder 并在 sonar 中发布我的测试结果,同时仍然能够将开发工件上传到我们的内部存储库。如果构建因测试失败或覆盖率太低而停止,所有这些都不起作用。

0 投票
0 回答
623 浏览

python - Python 覆盖警告 - 覆盖测试未导入模块“module_name”

[WARN] Module 'module_name' was not imported by the covered tests在 pybuild python 覆盖插件中升级时遇到错误。

我在覆盖率报告中看不到我的脚本,并且构建成功,覆盖率高,__init__.py脚本覆盖率为 100%。 在此处输入图像描述

我已经为我的一些模块编写了一些单元测试并在pyunit. 在此处输入图像描述 但覆盖率报告不包含该信息。当我禁用unittesting所有脚本时生成报告。

在此处输入图像描述

这有什么问题。

0 投票
1 回答
89 浏览

python - 如何配置 PyBuilder 以在本地查找测试所需的某些文件?

我的测试使用两个 CSV 文件,因为我的程序的很大一部分涉及解释数据然后将数据发布到 elasticsearch。运行 PyBuilder 时,它找不到这些文件,因为它是从不同的目录运行的。例如,我得到的错误之一是:

如何以允许我使用与测试位于同一目录中的文件的方式配置 PyBuilder?

0 投票
0 回答
185 浏览

python - 目前无法在没有收到错误的情况下从 Pybuilder 运行单元测试?

我正在尝试使用 Pybuilder 构建然后运行我的 python 项目单元测试。构建过程中一切顺利,但是当它运行我的单元测试时,我收到以下错误消息:

但是,如果我然后创建一个执行单独 setup.py 安装的任务(通过使用子进程库的命令行),它会完美运行。Pybuilder 应该创建和安装它自己的 setup.py,对吗?所以这不应该是一个问题或一个合适的解决方案。

我不确定下一步该去哪里,任何帮助将不胜感激。

0 投票
0 回答
210 浏览

python - pybuilder和pygradle之间的主要区别是什么

我最近正在学习 python 并想出一个要使用的构建工具。我偶然发现了 pybuilder 和 pygradle。在互联网上找不到这些工具之间的区别。想知道什么时候选择什么,各自的长处和局限。

谢谢

0 投票
1 回答
155 浏览

bash - 使用 PyBuilder 部署到 GCloud 时检查先决条件“没有未提交的更改”

我正在尝试向 Kubernetes 的 Docker 映像写入一个任务,该任务deploy检查是否存在先决条件(例如是否存在 docker、gcloud 和 git)并且没有未提交的更改。

到目前为止,这是我汇总的内容:

该任务实际上部署正确,但我无法检查是否存在未提交的更改可以工作......我找不到足够的文档assert_can_execute......任何人都可以帮忙吗?

被指控的陈述如下:

请注意,如果我在控制台上运行代码,如果没有未提交的更改,我正确地得到错误级别 0,否则为 127……我错在哪里?

提前致谢!

0 投票
3 回答
1923 浏览

python - How do you activate a virtual environment from Gradle?

I have the following exec commands in my gradle.build file.

These are all within a build task that runs when executing gradle build. Theoretically this should run a script I created that creates all of the files necessary for building my python program, it should then create a virtual environment, activate it, install pybuilder to it, and then run pybuilder. However, the command:

Seems to be failing. It claims that the directory/file does not exist despite it working via command line. I'm not sure why this is the case. The whole point of this is to force Pybuilder to install my programs dependencies to the virtual environment I create. pyb -E env should technically be activating the virtual environment for me, but for whatever reason it's not installing my dependencies to that virtual environment. On our Jenkins node this is a problem as we don't want these installed globally, not to mention, I don't have root user privileges anyways.

Any help would be greatly greatly appreciated. If you know of another way to get Pybuilder to work correctly, that would be equally good.

0 投票
0 回答
699 浏览

python - 从 virtualenv 运行时 PyBuilder 找不到 src 模块?

这是我的 build.py:

它专门在 project.set_property('dir_source_unittest_python','tests') 中指定的 projectDir/tests 下寻找测试目录,它确实在那里查找并找到正确的测试文件:

但我仍然收到以下错误:

我尝试通过删除使用默认项目结构

然后在我的 test 和 src 目录中移动,但我仍然得到同样的错误。我正在运行的导致此问题的特定命令是:

为什么 PyBuilder 在虚拟环境中找不到 src 模块?拜托,这太令人沮丧了。

克里斯

0 投票
2 回答
2116 浏览

python - 如何运行用pybuilder构建的脚本?有`pyb run`吗?

请原谅我这个可能微不足道的问题,但是:如何运行 pybuilder 发布的脚本?


我正在尝试遵循官方Pybuilder 教程

我已经完成了这些步骤并成功生成了一个项目

  • 运行单元测试
  • 计算覆盖率
  • 生成setup.py
  • 生成一个.tar.gz可供pip install.

这一切都很好,但我仍然看不到实际的可运行工件是什么?

目录中包含的所有内容target似乎或多或少与src目录中的内容+附加报告和可安装档案中的内容完全相同。

“添加可运行脚本”部分末尾的教程本身得出结论,“脚本已被拾取”。好的,它已被拾取,现在我该如何运行它?本教程绝不会证明我们可以实际打印字符串“Hello, World!”。在屏幕上,尽管整个玩具项目就是这样做的。


MCVE

下面是一个 Bash 脚本,它使用 Python 源文件和构建脚本生成以下目录树:


生成示例项目的完整脚本(免责声明:按原样提供,修改文件和目录,执行风险自负):

我发现运行新构建的项目的最简单方法如下(从包含的目录中使用projectRoot):

这确实成功地运行了脚本及其对用户定义的包的所有依赖项,并打印:

但整个过程似乎相当复杂。作为比较,在 SBT 的类似情况下,我只会发出单曲

来自 SBT-shell 的命令——这就是为什么上面的七步配方对我来说有点可疑。

有没有类似pyb runpyb exec插件的东西可以做同样的事情,但不需要我设置所有这些环境并安装任何东西?我正在寻找的是sbt run在 SBT 或mvn exec:javaMaven 中的类比,它将构建所有内容,设置所有类路径,然后使用该main方法运行类,而不会在项目目录之外留下任何痕迹。

由于源代码和目标的输出之间基本上没有区别,我可能错过了一些明显的方式来运行脚本。如果PyBuilder根本不需要它本身,那也很好:我想要的只是以某种方式Hello, world! 42 * 42 - 42 = 1722在终端中打印 -string 。