Как я могу добавить в $ PATH с помощью tox?

Я использую tox для запуска тестов транспортира, которые будут тестировать приложение, использующее django + angularjs, есть библиотека клея (django-protractor), которая упрощает это, за исключением того, что она вызывает транспортир внутри команды управления django и полагается на $ PATH, чтобы показать, где находится транспортир.

Поэтому, если я правильно установил $ PATH перед запуском tox, он будет работать нормально, но я бы предпочел не требовать, чтобы все разработчики делали это вручную.


person Lefunque    schedule 12.02.2016    source источник


Ответы (2)


Я думаю, что это должно сработать, если вы измените свой путь в файле manage.py, чтобы включить каталог django-protractor, потому что в командной строке управления Django используется manage.py.

person Forge    schedule 12.02.2016
comment
@Lefunque, пожалуйста, примите ответ, если он был вам полезен, нажав на галочку. - person Forge; 19.02.2016

Для использования переменных среды tox предоставляет синтаксис {env:VARIABLE}. Для их установки в tox предусмотрен раздел setenv.

Их можно использовать вместе для изменения переменной PATH, которая может использоваться командами:

[testenv]
setenv =
  PATH = {env:PATH}{:}/path/to/protractor

commands = 
  echo {env:PATH}

Другой вариант, который может работать в некоторых случаях, - это символическая ссылка или загрузка двоичного файла по доступному для записи пути PATH, надеюсь, у нас всегда есть один доступный: двоичная папка виртуальных сред, которая {envbindir} в tox.

person undu    schedule 01.05.2018
comment
Я не уверен, что PATH может быть setenv. Я пробовал это с бесперспективными результатами :( @undu, ты тестировал? - person davidag; 09.07.2018
comment
Только что попробовал: у меня он работает в Linux, как и ожидалось. - person undu; 27.07.2018
comment
Я создал репо с Travis, чтобы показать, что он работает: travis -ci.com/undu/tox-path-example/jobs/136762405 Обратите внимание на / path / to / protractor непосредственно перед сводкой. Конфигурацию tox можно найти здесь: github.com/undu/tox-path-example/blob/master/tox.ini - person undu; 27.07.2018