George
блин
George
вот дерьмо. а
Max
я использую virtualenv.
Timur
Max
это заставляет немного попукать вначале, пока не собрал список всех пакетов. но потом нет таких проблем.
George
???
ну, смотри. pip как исполняемый файл может указывать не на тот python в системе
George
я обычно сейчас pip для надежности запускаю как python3.5 -m pip
Max
George
т.к. в системе может стоять несколько python окружений
George
наши разрабы это очень любят
George
а чертов модуль pip требует ИМЕННО путь к исполняемому файлу pip. Я был бы счастлив, если можно было руками задать не venv, а именно путь к python-интерпретатору
Max
George
а внутри модуля захачить, чтобы он вызывал не pip как исполняемый файл, а именно модуль
Max
и указать интерпретер - и удаленный и местный.
George
George
поясняю
George
у тебя python, который в ansible, вообще не должен влиять на работу модуля pip
George
короче, у меня biased мнение. Сорян
Max
George
Max
George
я хочу ansible доустановить модули python и в python2 окружение, и в python3 окружение
George
одним плейбуком
George
ваш ход, сэр
George
George
по факту - может быть любая
Max
короче, на таргете рождается процесс, с оцтом-питоном какой-то версии.
Max
он делает все операции.
George
да
George
верно
Max
если тебе нужно - перегружай PYTHONPATH, или пользуйся virtualenv/venv/anaconda
Max
т.е. если твой питон не совпадает с целевым.
Max
и pip умеет получать путь к корневухе virtualenv и активировать.
George
видимо, это и есть бест практис )
Max
бест оф зе бест.
George
но все равно фигня получается
George
надо чтоб все перекатились на пайтон 3 и забыть про этот кошмар
George
и все программы паковать в докер )
George
Max
угадай, что будет если ее ткнуть на какой-то другой python.
George
https://github.com/saltstack/salt/blob/develop/salt/modules/pip.py#L167
George
вот сольт все правильно делает
George
George
и я про это писал
Max
:) а на чем клиент написан?
George
ты меня сейчас к чему подводишь?
George
что типа ансибл, запущенный на ансибл-раннере под пайтон2, не сможет отпячить систему только с пайтоном 3?
Max
Max
но если в системе на путях сидит несколько питонов, и порядок установления его инструментов через pip установлен по положению марса относительно сатурна, это может свести с ума и юпитер.
George
George
одного 2-го и одного 3-го достаточно. Но разрабы так не считают )
Max
а если надо, то пользуйтесь игструментами это делающими.
Max
venv, pyenv, virtualenv, anaconda 🤢
Max
как они сейчас работают?
Max
эти "разнорабочие"
George
их как-то слишком много
George
короче
George
моя претензия к ансиблу, что в executable для модуля pip нельзя передать путь к бинарнику пайтона. все
George
исходники я посмотрел, да
Max
George
валяй
Max
потому что не хотят поддерживать все технологии многопитонья.
Max
кто на virtualenv - как раз и указывает путь к конкретному питону
Max
остальные идут лесом.
George
ну, вариант, но некрасивый
Max
а остальные пускай выставляют env
George
я сейчас пытаюсь сделать внутренний конкурс на SCM
George
речь не про то, что venv плохо
Max
George
а то, что pip может указывать не туда, куда ожидается
George
puppet chef ansible salt
George
короче, смотрю кукбуки шефа