Что может заставить pip лгать об успешной установке? - PullRequest
1 голос
/ 29 мая 2019

У меня есть скрипт, который выполняет

mkvirtualenv foo
pip install -r foo/requirements.txt || abort_with_error_message
pip freeze

В установке pip говорится:

Successfully installed <List of packages>

Где список пакетов включает все в файл require.txt.Но pip freeze перечисляет меньше пакетов.В частности, gevent-1.4.0 находится в требованиях и «успешно установлен», но не в «заморозке», ~/.virualenvs/foo/*/dist-packages или вещах, которые я могу импортировать.Там ничего нет.

Добавление -vvv к установке pip ничего полезного не дает.

В моей среде должно быть что-то действительно странное, чтобы вызвать это, но я не знаю, где искать,Что может заставить pip объявить об успешной установке пакетов, которые он фактически никогда не устанавливал?

Изменить для добавления:

Я могу решить эту проблему, используя

source /usr/local/bin/virtualenvwrapper.sh

вместо

source ~/.bashrc

или

#!/bin/bash -i

в сценарии.(Мой .bashrc содержит строку источника virtualenvwrapper.)

Я в тупике, почему это важно.Единственное, что делает мой .bashrc, это установить некоторые несвязанные переменные, добавить несколько вещей в путь и вызвать / etc / bashrc (AWS GNU / Linux, разветвленный из CentOS).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...