2017-01-09 10 views
1

не может найти никого, отправляющего подобную ситуацию, поэтому подумал, что спрошу и посмотрю. В настоящее время мы пытаемся автоматизировать модульные тесты в нашей среде непрерывного развертывания.running python setup.py test pip не находит pip.conf для установки внутренних требований

Мы выполняем типичную команду test.py test python из нашего virtualenv. Однако у нас есть собственный внутренний pypi-сервер для некоторых наших внутренних библиотек. pip.conf настроен так, что при явном запуске pip install он проверяет внутренний pypi-сервер. Но при запуске теста setup.py он пытается использовать pip для установки требований и, похоже, не знает о файле pip.conf. Я размещаю pip.conf на глобальном уровне (/etc/pip.config), уровне virtualenv и уровне пользователя, но безрезультатно. Это похоже на то, что он вызывает другой пип, который я бы предположил, это базовая установка (а не virtualenv), но она также игнорирует глобальный pip.conf. Есть идеи? Заранее спасибо!

ответ

-1

Каждый раз, когда у меня возникают подобные проблемы, я нахожу, что писать явный путь к исполняемому файлу очень помогает, независимо от того, на каком уровне я размещаю исполняемый файл. Поэтому вместо запуска pip ~do something~ попробуйте /etc/pip ~do something~.

+0

К сожалению setup.py вызывает вызов, и я не уверен, что он явно запускает тот, который я хочу. Я предположил, что использование python из virtualenv выбрало бы пипс из его среды, которая, похоже, не так. В настоящее время в моей работе есть файл требований. Txt для явной установки требований до запуска модульных тестов. Но мне не нравится иметь два разных файла для поддержки того же списка требований. – Sean

+0

Я обнаружил, что так и случилось, что, хотя я создал свой venv с pip3.5, когда я позвонил в pip, он запустил pip2.7 (я не знаю, почему это происходит именно так). Опять же, я решил, что это проложил путь к правильному pip3.5 в моем Вене. '/ usr/local/venvs/env1/bin/pip ~ сделать что-то ~' Вы можете проверить, какая версия pip вызывается с помощью 'pip -version 'в терминале - внутри и вне venv. –