Python 在tox和x2B中使用自己的软件包;皮特斯特

Python 在tox和x2B中使用自己的软件包;皮特斯特,python,pytest,tox,Python,Pytest,Tox,我有一个python应用程序要测试。 此应用程序正在导入许多包,例如: import time import sys . . . import mypackage 其中mypackage是我自己的包 当我开始应用程序时,一切正常。但是,只要我尝试运行tox进行测试,就会出现以下错误: Collecting mypackage Could not find a version that satisfies the requirement mypackage (from versions: ) N

我有一个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
,我认为这在很多方面都是可能的:

  • 您可以在安装要测试的软件包之前或在同一行中通过执行
    pip install/path/to/private/dependency
    ,手动安装依赖项。这有一个(次要)优点,即您也可以使用
    -e
    在可编辑模式下安装依赖项
  • 您可以使用
    --find links
    选项进行
    pip安装
    ,如答案中所述-这有一个优点,即依赖项处理本身是自动完成的,您只需指定自己的安装包,并告诉
    pip
    在哪里可以找到其他内容。重要的是,这也可以使用指定,因此您不必在git repo中的任何地方硬编码本地路径
  • 注意:我不确定选项(2)是否仅适用于git回购,还是仅适用于适当的归档。。。我记得不久前在
    --查找链接时遇到了与此相关的问题