Почему вы хотите использовать Ray

Прежде всего, Windows поддерживает Ray в альфа-версии и, очевидно, не рекомендуется для использования в производственной среде. Тем не менее, при изучении ray некоторые из вас могут захотеть установить его на свой ноутбук с Windows, если вы не предпочитаете использовать установку на основе Linux. Когда вы взглянете на официальные инструкции по установке, это будет очень просто не только в Linux, но и в Windows: обновите среду выполнения Visual C++, выполните простую установку с помощью pip, и готово.

За исключением того, что в настоящее время все стараются четко отделять свои среды Python, а это означает, что вместо pip вы обычно используете менеджер пакетов, такой как venv/virtualenv, pipenv, pew или conda. И тут начинается самое интересное. Использование conda с Ray технически является рабочим вариантом. Однако для некоторых из нас этот вариант не работает с юридической точки зрения. Проблема в том, что Anaconda Inc. изменила свои условия обслуживания для репозитория кода, который используется с conda, и теперь требуется коммерческая лицензия, если вы ведете бизнес с 200 и более сотрудниками.

После этого изменения многие участники сообщества машинного обучения перешли на другие менеджеры пакетов. К сожалению, базовые инструменты вроде venv (входит в стандартную библиотеку Python, начиная с версии 3.3) и virtualenv не работают с Ray под Windows. Что еще хуже, так это то, что pipenv также использует venv под капотом, поэтому он тоже не работает. Это исключает почти все самые популярные альтернативы conda.

Что затрудняет использование Ray под Windows

Прежде всего, Windows поддерживает Ray в альфа-версии и, очевидно, не рекомендуется для использования в производственной среде. Тем не менее, при изучении ray некоторые из вас могут захотеть установить его на свой ноутбук с Windows, если вы не предпочитаете использовать установку на основе Linux. Когда вы взглянете на официальные инструкции по установке, это будет очень просто не только в Linux, но и в Windows: обновите среду выполнения Visual C++, выполните простую установку с помощью pip, и готово.

За исключением того, что в настоящее время все стараются четко отделять свои среды Python, а это означает, что вместо pip вы обычно используете менеджер пакетов, такой как venv/virtualenv, pipenv, pew или conda. И тут начинается самое интересное. Использование conda с Ray технически является рабочим вариантом. Однако для некоторых из нас этот вариант не работает с юридической точки зрения. Проблема в том, что Anaconda Inc. изменила свои условия обслуживания для репозитория кода, который используется с conda, и теперь требуется коммерческая лицензия, если вы ведете бизнес с 200 и более сотрудниками.

После этого изменения многие участники сообщества машинного обучения перешли на другие менеджеры пакетов. К сожалению, базовые инструменты вроде venv (входит в стандартную библиотеку Python, начиная с версии 3.3) и virtualenv не работают с Ray под Windows. Что еще хуже, так это то, что pipenv также использует venv под капотом, поэтому он тоже не работает. Это исключает почти все самые популярные альтернативы conda.

Каков наилучший обходной путь?

Конечно, мы могли бы просто забыть об управлении зависимостями и использовать pip для прямой установки Ray непосредственно в пакеты сайта нашей установки Python. К сожалению, такой грязный хак рано или поздно приведет вас в ад зависимостей, и это то место, которого мы определенно хотим избежать. Поэтому мы пытаемся найти основную причину проблемы, надеясь, что по пути сможем найти менее неуклюжий обходной путь. Оказывается, проблема вызвана ошибкой в ​​​​версии venv для Windows. Так что по иронии судьбы здесь виноват не молодой фреймворк Рэй, а гораздо более зрелая часть программного обеспечения. Когда вы просматриваете детали ошибки, вы видите, что она появилась в Python 3.7.3 (и кажется достаточно сложной, чтобы ее нельзя было исправить в ближайшее время). Вы также видите, что venv успешно работает в Python 3.6. Следовательно, столкнувшись с выбором: либо вообще не использовать диспетчер пакетов (если conda запрещена законом), либо использовать более старую версию Python, последнее обычно будет меньшим злом. Возможно, вы также хотели бы пересмотреть установку под Linux, поскольку Python 3.6, по общему признанию, устарел.

Следовательно, решение для установки Windows следующее (используя pipenv, venv аналогично):

  • Установите какую-нибудь версию Python 3.6 с официальной страницы загрузки релиза Python. Я бы рекомендовал 3.6.8, так как это последняя версия, доступная для скачивания.
  • Используйте gitbash или командную строку Windows, чтобы перейти к каталогу вашего проекта Python.
  • Введите команду «pipenv — python 3.6.8», чтобы создать среду pipenv, использующую Python 3.6.8 (или любую другую версию Python 3.6, которую вы выбрали).
  • Сделайте быструю «pipenv install ray», чтобы установить ray.

И теперь это работает, и вы готовы к работе! Взгляните на отличные учебные пособия на веб-сайте Ray и начните свое знакомство с миром Ray.

Первоначально опубликовано на https://www.btelligent.com.