2016-09-19 5 views
1

Есть ли способ предотвратить среду Travis Python от предварительной установки pytest, nose, mock и т. Д.? Версии старые и вызывают проблемы, зависящие от порядка при обновлении. Я хочу указать свои зависимости только в setup.py, но pytest и py требуют взаимных обновлений, которые, кажется, всегда терпят неудачу.Предотвратите окружающую среду Travis Python от предварительно установленных пакетов

Я вижу, есть virtualenv ключ для .travis.yml, который иногда упоминается кратко, но я не вижу для него надлежащей документации.

+0

Предоставляете ли вы файл 'requirements.txt'? Какие проблемы вы видите? – jonrsharpe

+0

Нет, я хочу указать только в 'setup.py'. Указание версий для пакетов с взаимными зависимостями в 'setup.py' приводит к конфликтам. Установка этого способа в чистой среде не вызывает проблем. –

+0

Почему вы не хотите использовать соглашение? Какие конфликты? Опять же, не могли бы вы предоставить более конкретную проблему? Я не сталкивался с этими конфликтами, запуская проекты с 'requirements.txt' и' setup.py' на Travis. – jonrsharpe

ответ

0

Я не нашел способ сделать это, но нашел относительно чистый обходной путь: virtualenvwrapper.sh имеет команду wipeenv, которую я раньше не знал. Так что теперь я настроить «современный и чистый» virtualenv так:

before_install: 
    - pip install -U pip setuptools virtualenvwrapper 
    - source $(which virtualenvwrapper.sh) 
    - wipeenv 

Я не придется беспокоиться о точном списке пакетов или пересечения их с моим собственным, и секции install/script может продолжаться беспрепятственно с помощью любой настройки Трэвиса для меня.