Я создал несколько сред conda для проверки совместимости установленных пакетов. Я использую conda create -n test02 --clone test01
для создания среды test02 в качестве клона test01. Я активирую test02, устанавливаю новые пакеты и запускаю экземпляр python, из которого импортирую новые пакеты без проблем. Проблема возникает, когда я запускаю jupyter notebook или qtconsole и пытаюсь импортировать недавно установленный пакет и получаю ошибку импорта: нет модуля с именем 'xxx'. Я делаю sys.executable
и вижу, что jupyter работает python из старой среды (test01), из которой я клонировал новую. Почему это происходит? Могу ли я изменить его где-нибудь в конфигурационном файле и где я могу найти этот файл?
edit: дополнительная информация
jupyter --paths
для обеих сред общий доступ к записи пути для конфигурации и данных в одном каталоге среды
(test01) PS C:\Users\Aka> jupyter --paths
config:
C:\Users\Aka\.jupyter
c:\users\aka\miniconda3\envs\test01\etc\jupyter
C:\ProgramData\jupyter
data:
C:\Users\Aka\AppData\Roaming\jupyter
c:\users\aka\miniconda3\envs\test01\share\jupyter
C:\ProgramData\jupyter
runtime:
C:\Users\Aka\AppData\Roaming\jupyter\runtime
(test01) PS C:\Users\Aka> conda activate test02
(test02) PS C:\Users\Aka> jupyter --paths
config:
C:\Users\Aka\.jupyter
c:\users\aka\miniconda3\envs\test01\etc\jupyter
C:\ProgramData\jupyter
data:
C:\Users\Aka\AppData\Roaming\jupyter
c:\users\aka\miniconda3\envs\test01\share\jupyter
C:\ProgramData\jupyter
runtime:
C:\Users\Aka\AppData\Roaming\jupyter\runtime
edit2: я забыл упомянуть, что Я установил Jupyter с помощью pip.
, чтобы воссоздать проблему, которую я сделал:
conda create -n env1
conda activate env1
pip install jupyter
jupyter --paths
config:
C: \ Users \ Aka.jupyter
c: \ users \ aka \ miniconda3 \ envs \ env1 \ etc \ jupyter
C: \ ProgramData \ jupyter
data:
C: \ Users \ Aka \ AppData \ Roaming \ jupyter
c : \ users \ aka \ miniconda3 \ envs \ env1 \ share \ jupyter
C: \ ProgramData \ jupyter
runtime:
C: \ Users \ Aka \ AppData \ Roaming \ jupyter \ runtime
conda create --clone env1 -n env2
conda activate env2
jupyter --paths
config:
C: \ Users \ Aka.jupyter
c: \ users \ aka \ miniconda3 \ envs \ env1 \ etc \ jupyter
C: \ ProgramData \ jupyter
data:
C: \ Users \ Aka \ AppData \ Roaming \ jupyter
c: \ users \ aka \ miniconda3 \ envs \ env1 \ share \ jupyter
C: \ ProgramData \ jupyter
время выполнения:
C: \ Users \ Aka \ AppData \ Roaming \ jupyter \ runtime
Если Я должен был установить Jupyter с Conda в совершенно новую среду, а затем клонировать среду, Jupyter ведет себя как ожидалось. Примечание: я установил jupyter с pip, потому что я использую python 3.5 из-за других пакетов, которые мне нужны, и установка jupyter с conda в моих средах продолжала ломать его. Я обратился к Конда-Фордж за помощью, но они сказали: «Извините, мы не поддерживаем python 3.5».