Python Конда Окружающая среда путаница (например: проблема с тренажерным залом) - PullRequest
0 голосов
/ 11 января 2020

Пытаясь использовать пакет open-ai для тренажерного зала (и так далее), я столкнулся с некоторыми проблемами, структуру которых я не очень понимаю.

В качестве примера:

Я пытался установить тренажерный зал в трех разных средах conda.

Один из способов сделать это - тренажерный пункт с установкой в ​​pip Другой метод: git клон https://github.com/openai/gym.git cd gym pip install -e.

Третий: pip3 install gym В некоторых средах я использовал бы Python2, в других env. возможно Python 3.7

Еще больше возможностей для установки будет:

sudo pip install gym

(и даже больше перестановок будет возможно, если мы примем во внимание , если мы активируем среду или не активируем какую-либо среду). Для меня все становится еще сложнее, потому что я пытался установить conda с учетной записью не-администратора-пользователя в Ubuntu, так что conda (или, точнее, сам пользователь не мог установить какие-либо файлы в каталоге / usr). Я начал тестировать некоторые из этих возможностей и случаев, потому что для установки некоторых библиотек (например, keras-rl) требовался доступ к общим ресурсам (/ usr / dir.), Даже если они установлены в локальной среде conda. Но если так: будут ли взаимодействовать установки в разных средах conda? И что, если кто-то установит пакет как локальный пользователь в среде conda, а затем установит pip или pip3 в качестве администратора. Будет ли административная установка перезаписывать (или отменять, или взаимодействовать) установку среды (или ее части)?

При экспериментировании с различными возможностями (или более: при попытке найти установки, которые не производили никаких ошибки типа «тренажерный зал не найден» или «ошибка атрибута ...») после выполнения:

Found existing installation: gym 0.15.4
Can't uninstall 'gym'. No files were found to uninstall.

после выполнения:

sudo pip3 install gym --force

Так что на этом основании мои вопросы конкретно будет:

(1) Есть ли лучшая практика для создания sh хороших сред conda (которые не склонны взаимодействовать, особенно если некоторым пакетам нужны привилегии sudo)?

И (2) если некоторые среды взаимодействуют с общими (sudo) ресурсами, как они могут быть разрешены таким образом, чтобы различные среды могли быть проверены и установлены друг под другом?

Аннотация: возник такой же вопрос: conda environment pip пытается установить зависимости глобально некоторое время go, но, похоже, совет не использовать sudo будет трудно следовать, если некоторые пакеты требуют доступа к глобальным ресурсам. Поэтому я хотел бы попросить решение для взаимодействия немного более конкретно.

Ответы [ 2 ]

2 голосов
/ 11 января 2020

вы не должны использовать sudo для установки чего-либо в среде conda. Скорее всего, используемая команда pip не вытекает из фактической (активированной?) Среды, но используется фактическая система pip. Поэтому вам нужно использовать sudo для установки на системный префикс.

Вы можете проверить, используете ли вы нужный пункт, вызвав «какой пункт». Путь должен указывать на вашу среду. Если этого не произойдет, вы должны установить пункт внутри вашей среды conda.

1 голос
/ 11 января 2020

У меня была такая же проблема раньше. Я активировал conda envirement и установил локально с pip3, так как conda не поддерживает его. Предупреждение: возможно повреждение некоторых пакетов.

Среда conda должна быть активирована ВСЕГДА перед установкой чего-либо, или она становится глобальной установкой.

Установите новую среду conda без использования sudo. Если он просит sudo, вам нужно удалить все это и немного почистить. Его очень легко забыть и НИКОГДА не использовать sudo!

Вы можете попробовать установить более новую версию python3 .x (python 2 в любом случае очень скоро получает историю. Pip = python2, pip3 = python3. И ответить на один из вопросов: Ваш новый вопрос, если при глобальной установке все испортится, а не за пределами conda.

google pycharm и conda. Там вы можете просто использовать его для установки 3 различных типов сред с python. На самом деле чертовски хороший редактор для python кодирования. Остальное больше связано с linux, когда мы говорим об очистке PATHS et c.

У меня нет лучшего добавления! Надеюсь, вы все правильно поняли.

...