Необходимые переменные пути для разных виртуальных сред conda - PullRequest
0 голосов
/ 10 мая 2019

У меня были проблемы с настройкой виртуальной среды conda, специально предназначенной для сбора пакетов Deep Learning. Я прочитал множество учебников, я также несколько раз удалял и переустанавливал Anaconda, чтобы убедиться, что все во время установки было установлено правильно.

Я наконец-то получил виртуальную среду, скажем, DLenv, в которой jupyter notebook не удалось запустить (она просто не работала. Браузер открывался раньше, но домашняя страница jupyter не загружалась при все). После некоторых исследований я нашел возможное решение: удалить pyzmq, установить его снова, а затем снова установить jupyter.

После запуска команды

(DLenv) C:/Users/.../folder > jupyter notebook

появилось следующее сообщение:

Unable to create process using 'C:\Users\Matteo\Anaconda3\envs\DLenv\python.exe C:\Users\Matteo\Anaconda3\envs\DLenv\Scripts\jupyter-script.py notebook'

Я несколько почувствовал подозрение, что это было каким-то образом из-за того факта, что среда DLenv имела мало общего с этапом установки Anaconda, когда пользователя спрашивают, включать ли Anaconda в переменные пути или нет. Поэтому я добавил оба пути объекта, упомянутого в приведенной выше ошибке, к переменным среды в моей системе, но это все равно не сработало. Наконец, у меня появилась идея скопировать файл python.exe, указанный в первой части ошибки, во втором упомянутом местоположении, то есть в каталоге, выделенном для новой виртуальной среды.

Теперь, похоже, работает, в том, что из DLenv jupyter notebook стоит, у ядра нет проблем с подключением.

Тогда у меня возникает вопрос : с какой стати объект python.exe должен был находиться в папке виртуальной среды и почему он не был перемещен туда автоматически на этапе создания среды?

Должен ли я делать то же самое iter каждый раз, когда создается новая среда?

Заранее спасибо

1 Ответ

1 голос
/ 10 мая 2019

Правильный способ взаимодействия с Jupyter и Conda envs - это установить пакет jupyter только в один env, который, если вы используете Anaconda, уже равен base . Вам также необходимо установить nb_conda_kernels в этой среде. Затем для каждой другой среды, которую вы хотите использовать в качестве ядра, вы устанавливаете ipykernel. Запустите jupyter notebook из env, в котором он есть ( base ), а остальные envs будут доступны в виде ядер.

Не должно быть никаких ручных манипуляций с вашей переменной среды PATH, начиная с Conda v4.4. Конда имеет собственный внутренний инструментарий для управления этим, и путаница с ним может привести к неожиданному поведению.

...