Случилось так, что мне необходимо написать небольшой проект на python.
Сам я в основном пишу на java. Естественно ищу схожие инструменты. Так мне понадобились аналоги maven и jar в python.
Чаще всего (как я понял) люди используют pip и zip для этого.
Т.к. pip ставит все глобально и в нем все плохо с одновременной установкой, есть еще virtualenv, и всякие там conda, anaconda, у которых тоже полно недостатков.
Есть ряд постов где pip называют уг даже заядлые python-программисты
Например, вот Почему я ненавижу virtualenv и pip
Ближе к вопросу:
Как собрать весь проект в один zip и запустить его в виде python myscritp.zip я разобрался.
Однако зависимости в нем все еще установлены через pip глобально.
Если еще в дополнение использовать virtualenv, то не понятно следующее. Как активировать virtualenv перед запуском скрипта, если зависимости будут упакованы в zip? В крайнем случае (если это задача в python не решена), откажусь от упаковки в один zip.
Также было замечено, что при использовании virtualenv под window в папки виртуального окружения все окружении (папа scripts) генерируется только под винду. Поэтому этот проект под linux не заведется (без дополнительных телодвижений и установки зависимостей) . А как же python многоплатформенность?
Есть конечно радикальный вариант - ставить каждый python проект в докер. Но неужели нельзя как-то нормально упаковывать и распространять готовые приложения. Задача-то типовая.
Мастера, помогите советом. Кто и как работает?
Еще попутный вопрос. Везде говорят что python “клей” со всеми языками хорошо связывается.
Но jpython работает только для python 2. А как же поддержка третьей версии? Десять лет уже почти прошло с момента выхода python 3.