Tox не работает, потому что setup.py не может найти файл требований.txtPython

Программы на Python
Гость
Tox не работает, потому что setup.py не может найти файл требований.txt

Сообщение Гость »


I have added tox to my project and my is very simple:

Код: Выделить всё

[tox]
envlist = py37

[testenv]
deps =
-r{toxinidir}/requirements_test.txt
commands =
pytest -v
But when I run , I get the following error:

Код: Выделить всё

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 "", line 1, in 
File "/tmp/pip-req-build-ywna_4ks/setup.py", line 15, in 
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)
Here is my

Код: Выделить всё

setup.py
:

Код: Выделить всё

 -*- coding: utf-8 -*-

import os
import sys
from setuptools import setup, find_packages
import versioneer

here = os.path.abspath(os.path.dirname(__file__))

sys.path.insert(0, here)

requirements_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'requirements.txt')

with open(requirements_path) as requirements_file:
requires = requirements_file.readlines()

setup(
name='my_project',
version=versioneer.get_version(),
cmdclass=versioneer.get_cmdclass(),
maintainer='Hamed',
license='BSD',
py_modules=['my_project'],
packages=find_packages(),
package_data={'': ['*.csv', '*.yml', '*.html']},
include_package_data=True,
install_requires=requires,
long_description=open('README.md').read(),
zip_safe=False
]
},
)

Код: Выделить всё

python setup.py install
works fine.

It seems that tox is looking for requirements in the tmp dir, but can't find it there. Is there something wrong with my configurations?

I am using

Код: Выделить всё

tox==3.12.1
,

Код: Выделить всё

python==3.7.3
,

Код: Выделить всё

setuptools==41.0.1
, and

Код: Выделить всё

conda==4.6.9
I've tested this on Arch and SLES 12 and got the same result with both.


Источник: https://stackoverflow.com/questions/576 ... ements-txt

Вернуться в «Python»