почему pip не устанавливает пакет при использовании tox?

Я создал пакет, структура которого приведена здесь.

packagename
   -- packagename
         -- __init__.py
   -- setup.py

Пакет установлен правильно, и я проверил с помощью «замораживания пипсов».

Я пытаюсь использовать этот пакет в другом модуле с tox

tox.ini

 [tox]
  envlist = dev
 [default-dependencies]
  deps = packagename
 [testenv:dev]
  deps = {[default-dependencies]deps}
  pip_pre=True
  ignore_errors=True
  commands = py.test blah

когда я пытаюсь это использовать

tox -e dev

Я получаю это сообщение об ошибке

Collecting packagename
Could not find a version that satisfies the requirement packagename (from versions: )
No matching distribution found for packagename
v = InvocationError('/Users/***/.tox/dev/bin/pip install --pre dlb_dcp_csaf')

Тем не менее, все хорошо, когда я устанавливаю так

 pip install --pre packagename 

Я проверил версию пипа для обоих

 pip 8.1.1 from /usr/local/lib/python2.7/site-packages (python 2.7)
 pip 8.1.1 from /Users/***/.tox/dev/lib/python2.7/site-packages (python 2.7)

Может ли кто-нибудь помочь, почему я не смог установить пакет с помощью tox, но могу установить с помощью pip вручную?


person user1429322    schedule 05.05.2016    source источник


Ответы (2)


Основываясь на выводе команды tox, похоже, что вы не указали правильный путь к имени пакета, и, следовательно, tox пытается найти его на серверах PIP. Вы должны указать правильный путь к имени пакета относительно каталога, в котором находится ваш tox.ini.

Откуда: http://testrun.org/tox/latest/config.html

deps=MULTI-LINE-LIST
test-specific dependencies - to be installed into the environment prior to 
project package installation. Each line defines a dependency, which will be     
passed to the installer command for processing. Each line specifies a file, 
a URL or a package name.

...

(Experimentally introduced in 1.6.1) all installer commands are executed 
using the {toxinidir} as the current working directory.

{toxinidir}
the directory where tox.ini is located
person Praveen Yalagandula    schedule 05.05.2016

tox сам установит тестируемый пакет (то есть ./setup.py), нет необходимости добавлять его в deps.

person The Compiler    schedule 05.05.2016
comment
Он устанавливает пакет, который я тестирую. Однако пакет, который я тестирую, зависит от другого пакета, который я создал. Tox не находит этот пакет. - person user1429322; 06.05.2016