conda перечисляет пакеты не из активной среды в Jupyter

#python #jupyter-notebook #jupyter #environment

#питон #jupyter-записная книжка #юпитер #Окружающая среда

Вопрос:

Я хотел бы запустить записную книжку Jupyter (на удаленном сервере), используя пакеты, установленные в среде crocoanalysis

 conda create crocoanalysis
conda activate crocoanalysis
conda install netcdf4
 

Работал отлично, пакет установлен :

 (crocoanalysis) conda list
# packages in environment at /home6/datahome/abarboni/.conda/envs/crocoanalysis:
[...]
netcdf4                   1.5.3            py38hbf33ddf_0
 

Теперь я поделился этой средой с ядром ноутбука Jupyter и запустил ноутбук (изменив порт для доступа к нему на моем локальном компьютере, но здесь это априори не проблема):

 (crocoanalysis) python -m ipykernel install --user --name=crocoanalysis
(crocoanalysis) nohup jupyter notebook --no-browser --port=8090
 

При запуске ноутбука среда доступна и активна, но перечисленные пакеты не относятся к активной среде, вместо этого она продолжает использовать базовую среду… Чего не хватает?

Вывод данных из ноутбука Jupyter

Я также попытался поместить каталог среды в PYTHONPATH, но 1) это не сработало, 2) это не совсем то, что я ищу: (добавление в .bashrc)

 export PYTHONPATH="${PYTHONPATH}:/home6/datahome/abarboni/.conda/envs/crocoanalysis"
 

Я также попытался запустить ноутбук вне этой новой среды, но тоже не работает

Ответ №1:

Существует два популярных способа открыть Jupyter notebook в определенной среде.

  1. Просто, если вы используете Anaconda Navigator, откройте Anaconda Navigator и выберите Environment из выпадающего меню. Наконец, откройте Jupyter Notebook, если он не установлен, сначала установите, а затем откройте. введите описание изображения здесь
  2. Предпочтительно вы можете использовать приглашение Anaconda для открытия среды, а затем открыть jupuyter notebook.

Сначала вы можете проверить, есть ли там нужная вам среда или нет. вы можете проверить с помощью этой команды,

 conda env list
 

Затем, если среда доступна, используйте команду активировать для активации конкретной среды,

 conda activate Tensorflow
 

Для установки Jupyter notebook вы можете просто использовать,

 pip3 install Jupyter 
 

Наконец, для открытия записной книжки Jupyter,

 jupyter notebook
 

После всего этого, если какое-либо из этих решений не показывает ваши пакеты, вы можете использовать один последний метод,

  1. Бонус Не устанавливайте никаких пакетов при создании среды. Используйте данный метод для создания среды или обратитесь к документации для Jupyter notebook и Anaconda prompt
    О том, как создать среду и как установить Jupyter notebook, в подсказке anacodna.

После всего откройте Jupyter notebook и введите команду установки в блоке с ‘!’, чтобы установить пакет в определенной среде. такие , как,

 !pip install numpy 
 

Это должно сработать.

Комментарии:

1. Как следствие запуска его на сервере, открытие ноутбука через Anaconda navigator нежелательно, потому что очень долго (хотя это должно быть возможно). Как показано на рисунке, conda env list показывает среду как активную, но conda list показывает пакет базовой среды.

2. Как только вы откроете его, вы всегда сможете открыть jupyter notebook, просто набрав «Jupyter Notebook» в поиске кнопки «Пуск». вы можете увидеть все экземпляры при запуске, так что вы можете выбрать, какой из них вы предпочитаете. Кроме того, поиск достаточно умен, чтобы запомнить ваш выбор, поэтому он выдаст результаты, просто набрав «ju» в поиске.