gpt4 book ai didi

python - 在tox+pytest中使用自己的包

转载 作者:行者123 更新时间:2023-12-01 09:00:22 27 4
gpt4 key购买 nike

我有我想测试的Python应用程序。该应用程序正在导入很多包,例如:

import time
import sys
.
.
.
import mypackage

其中 mypackage 是我自己的包。

当我启动应用程序时,一切正常。但是,一旦我尝试运行 tox 来测试它,我就会收到以下错误:

Collecting mypackage
Could not find a version that satisfies the requirement mypackage (from versions: )
No matching distribution found for mypackage

我知道 tox 无法安装 mypackage 依赖项,因为它不在 pip 中。您知道如何在此类应用程序上运行 tox 或如何使用 tox 安装自己的软件包吗?

我的 tox.ini 文件的内容:

[tox]
envlist = py36

[testenv]
deps =
pytest
coverage
time
sys
mypackage
commands =
python setup.py develop
coverage erase
coverage run -m pytest myapp/tests/
coverage report --omit='.tox/*'

最佳答案

我认为如果您使用 pip 而不是 python setup.py,这应该可以通过多种方式实现:

  1. 您可以通过在安装要测试的软件包之前或在同一行中执行 pip install/path/to/private/dependency 来手动安装依赖项。这有一个(次要)优点,您还可以使用 -e 在可编辑模式下安装依赖项。
  2. 您可以使用 pip install--find-links 选项,如 this question 的答案中所述。 - 这样做的优点是依赖项处理本身是自动完成的,您只需指定自己的安装包并告诉 pip 在哪里可以找到其他东西。重要的是,这也可以使用 environment variables 来指定。 ,因此您不必在 git 存储库中的任何位置硬编码本地路径。

注意:我不确定选项 (2) 是否仅适用于 git 存储库或仅适用于正确的文件...我记得与 --find 相关的问题-链接不久前。

关于python - 在tox+pytest中使用自己的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52500449/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com