Tox 失败,因为 setup.py 找不到 requirements.txt

Ham*_*005 6 python testing setup.py python-3.x tox

我在我的项目中添加了 tox,我的tox.ini很简单:

[tox]
envlist = py37

[testenv]
deps = 
    -r{toxinidir}/requirements_test.txt
commands = 
    pytest -v
Run Code Online (Sandbox Code Playgroud)

但是当我运行时tox,出现以下错误:

[tox]
envlist = py37

[testenv]
deps = 
    -r{toxinidir}/requirements_test.txt
commands = 
    pytest -v
Run Code Online (Sandbox Code Playgroud)

这是我的setup.py

ERROR: invocation failed (exit code 1), logfile: /path/to/my_project/.tox/py37/log/py37-2.log
========================================================================================= log start ==========================================================================================
Processing ./.tox/.tmp/package/1/my_project-0+untagged.30.g6909bfa.dirty.zip
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-req-build-ywna_4ks/setup.py", line 15, in <module>
        with open(requirements_path) as requirements_file:
    FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-req-build-ywna_4ks/requirements.txt'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-req-build-ywna_4ks/
You are using pip version 10.0.1, however version 19.2.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

========================================================================================== log end ===========================================================================================
__________________________________________________________________________________________ summary ___________________________________________________________________________________________
ERROR:   py37: InvocationError for command /path/to/my_project/.tox/py37/bin/python -m pip install --exists-action w .tox/.tmp/package/1/my_project-0+untagged.30.g6909bfa.dirty.zip (exited with code 1)
Run Code Online (Sandbox Code Playgroud)

python setup.py install 工作正常。

似乎 tox 正在 tmp 目录中寻找要求,但在那里找不到。我的配置有问题吗?

我正在使用tox==3.12.1, python==3.7.3, setuptools==41.0.1, 和conda==4.6.9

我已经在 Arch 和 SLES 12 上对此进行了测试,并且两者都得到了相同的结果。

Ham*_*005 10

根据@phd 的观点,我发现requirements.txt源代码分发中不存在。添加requirements.txt到已MANIFEST.in解决的问题!