Блог им. 3Qu

Windows 10, Python, Anaconda, Miniconda (топик для питоноводов).

    • 28 июня 2021, 23:13
    • |
    • 3Qu
  • Еще
Доконал я, таки, свою Windows 10, стала еле ползать. Вначале восстановил штатной системой восстановления — не понравилось. Тогда сделал чистую установку. Вроде нормально, полетела. Поставил VS 2019, и очередь дошла до Python — что ставить?
Уже несколько лет использую Python для всех задач анализа данных и моделирования торговых систем. До того использовал разное — Excel, MathLab, SciLab, R. Python, имхо, оказался наиболее удобным и быстрым инструментом для решения всех околорыночных задач.
В свое время долго выбирал среду под Python, и, в конце концов остановился на Anaconda. Это самое оно для начинающих — все сразу сконфигурировано и готово к употреблению, уже сразу в базе ~700 пакетов, и не надо заморачиваться с их установкой. Кроме того, уже готовы к употреблению несколько сред разработки, я пользуюсь только одной — Spyder — не то, чтобы другие хуже, просто потребности не возникало.
В общем, для тех, кто только начинает работать с Python или не хочет заморачиваться с пакетами и средами, Anaconda — самое оно.
Однако, есть и недостатки. Очень большой объем на диске, долго ставится. Все 700 пакетов вам никогда не понадобятся, и по любому, позднее какие-то пакеты вам все равно придется устанавливать самостоятельно. Множество сред разработки тоже никогда не понадобятся, однако, чтобы получить общее представление о том, что есть под Python, для начальных этапов не вредно.
Однако, теперь Anaconda — это уже лишнее, и возник вопрос — что взамен?
Первый вариант, поставить голый Python, и все нужное к нему поставить самому. Однако, здесь возникают вопросы с согласованностью версий пакетов между собой. Это, в общем, не редкое явление.
В Anaconda все пакеты предварительно тестируются, т.к. это единая система, и случаи рассогласования пакетов практически не встречаются, но и пакеты рекомендуется скачивать только из хранилища Anaconda. Хотя возможность установки пакетов из других источников тоже предусмотрена.
В итоге, выбор пал на Miniconda — это та-же Anaconda, только урезанная до минимума с небольшим по размеру дистрибутивом, в нем есть только сам Python и минимально необходимый набор пакетов и средство conda для установки пакетов из хранилища.
Miniconda поставилась практически моментально. Еще с полчаса, установка среды разработки Spyder и около 20 пакетов для начала работы. Ну, и проверка всего этого запуском старой программы.
В общем, Miniconda — рекомендую. Хотя, если бы не переустановка Windows, заморачиваться бы с этим не стал, и продолжал бы работать с Anaconda.
★12
20 комментариев
А почему просто не использовать pip?
avatar
Михаил, в Анаконда можно использовать и pip, он там уже есть в базе.
Но, я написал об этом, вы можете нарваться на несогласованность версий пакетов. В случае с хранилищем Анаконда такая вероятность мала.
avatar
3Qu, ни разу не нарывался. В пакетах пишется требование к версиям, pip при установке это все проверяет. 
avatar
Михаил, вы не нарывались, я не нарывался — это не показатель. Люди нарывались, и неоднократно. В Анаконде в доках есть даже предупреждение на этот счет.
Зы Хотя, было один раз с каким-то левым пакетом, справиться с этим не смог, пришлось полностью удалять и переустанавливать Анаконду.
avatar
3Qu, учитывая сколько я поставил, шансы нарваться пренебрежимо малы.

Насколько я знаю, основная идея Анаконды не в этом.
Многие пакеты, которые содержат не только чистый Питон, а что-то еще требующее компиляции, не содержат сборку для Виндоус. Сам Виндоус не содержит инструментов для компиляции из исходников на лету, поэтому пакеты не ставятся без танцев с бубном. Анаконда просто содержит уже скомпилированные бинарники для таких пакетов. Обратной стороной этого является хроническое отставание по версиям и отсутствие большого числа пакетов. 

Собственно из-за этого я давно перестал пользовать Анакондой. 
avatar
Михаил, некоторое отставание наблюдается, но в большинстве случаев оно некритично для решаемых задач. Ну, а заморачиваться с компиляцией С/С++ содержимого никак не хочется.
avatar
Ваш выбор в пользу питона наводит меня на мысль, что в основе ваших ТС заложены достаточно простые математические модели, я прав?)
avatar
Serj90, вообще-то, Питон неплох также, для datascience, bigdata и machine learning.)
avatar
Зачем мучиться выбором, если можно все нужное доставить самому? У меня голый питон, к нему jupyter notebook и Pycharm. Нужные библиотеки можно поставить за 5 сек. при необходимости. 
avatar
Gravizapa, 
Нужные библиотеки можно поставить за 5 сек. при необходимости. 
В этом смысле, везде все одинаково, и выбор для этого не нужен.
Мы выбираем инструмент для работы, и Конды для этого более комфортны.
avatar
У меня проблемы с установкой пакетов и версиями возникали только под линукс. На windows танцевал только вокруг tensorflow. На мой взгляд питон из коробки лучше. С пакетами можно экспериментировать в виртуальном окружении (я так в итоге tensorflow установил).
avatar
Артем, в Кондах эта возможность никуда не девается.
avatar
Использую colab, все библиотеки залиты там, а трейдинговые библиотеки ставятся без вопросов
avatar
websan, Для колаба нужна сеть. 
avatar
Serj90, а нельзя подробнее, почему именно у вас питон ассоциируется с простыми моделями? Он что, для сложных не годится и есть более подходящий инструмент? Я, к сожалению, совсем недавно начал питон как раз для анализа использовать, жаль что давно это не сделал. Раньше все на с++ писал и думал что это круто. Куча времени на помойку.
avatar
Andrew Morozov, Для анализа данных, сложно что-то придумать лучше чем питон. Плюсы рядом не стояли. Если хотите себе что-то типа HTF робота, то конечно питон не вариант. Для всего остального думаю питон лучший выбор с кучей подходящих библиотек типа numpy, pandas и т.д. Так что не сомневайтесь, весь дата-сайенс на питоне и R сидит.

Я лет 10 назад тоже плюсы только знал, после универа остались знания, ну питон с плюсами — небо и земля.
avatar
Gravizapa, ну поэтому и вопрос возник к афтару комментария про простые модели. А про то что с чем рядом вы напрасно, просто средства надо выбирать в соответствии с характеристиками решаемых задач, и питон для анализа временных рядов мне показался очень удобным, готовых модулей сотни. На с/с++ не меньше, но затраты времени не сопоставимо больше.
avatar
PyCharm venv и вперед)
Андрей Ерохин, PyCharm мне не понравился. Spyder, имхо, лучше.
avatar
Тоже снёс громоздкую anaconda. Поставил minicona + vs code/ vs code insiders
avatar

теги блога 3Qu

....все тэги



UPDONW
Новый дизайн