Раньше у меня был простой bash-скрипт, который я использовал для активации conda env, а затем запускал atom. Затем я мог запустить код Python с использованием водорода, который мог автоматически видеть пакеты внутри myenv.
Предыдущий скрипт bash был таким:
#!/bin/bash
source activate myenv &&
atom
Поскольку conda> 4.4, что «source activ» больше не существует, мне пришлось изменить скрипт на:
#!/bin/bash
source /home/ubuntu/miniconda3/etc/profile.d/conda.sh &&
conda activate myenv &&
atom
Однако водород больше не обнаруживает myenv и запускает код из базовой среды env, что приводит к ошибке из-за отсутствия пакетов в базовой среде.
Когда я заменяю Atom на Spyder, приведенный выше скрипт работает нормально, и ядро Spyder видит myenv.
Есть идеи, как мне это исправить?
Обновление 1:
Я сделал еще несколько отладок. Похоже, что мое ipykernel не назначено ядру, установленному в активированной среде, а назначено ipykernel по умолчанию.
Когда я пытаюсь jupyter kernelspec list
в моей активации env, я получаю:
python3 /home/ubuntu/.local/share/jupyter/kernels/python3
Но в другой системе я получаю
/home/ubuntu/miniconda3/envs/myenv/share/jupyter/kernels/python3
которое кажется правильным ядром.
Есть идеи, как это исправить?
Обновление 2:
Похоже, что это решает проблему в обновлении 1. Затем я смог использовать принятый ответ для загрузки атома в желаемом env и запуска водорода из ipykernel в этом env.