Ситуация
Я использую Anaconda 3 на Windows 10.
У меня есть рабочее пространство кода Visual Studio (my_workspace
), которое содержит блокнот Jupyter (my_notebook.ipynb
). VSCode имеет установленное расширение Python.
Файл my_workspace/settings.json
содержит:
{
"python.pythonPath": "C:\\Users\\Me\\Anaconda3\\envs\\my_env\\python.exe"
}
my_env
- это существующая среда Anaconda. Я могу активировать его и работать с ним в оболочке, и если я запускаю jupyter lab
в такой оболочке, код в записных книжках может импортировать пакеты my_env
, как и ожидалось.
Если я открою my_workspace
в VSCode, затем my_notebook.ipynb
на вкладке, my_env
также упоминается в строке состояния VSCode ("Python 3.7.6 64-bit ('my_env': conda)"), и my_env
автоматически активируется, когда я открываю приглашение PowerShell в консоли VSCode (я запускал conda init
один раз).
Проблема
Когда ноутбук открывается в VSCode, ядро Jupyter, похоже, использует base
1046 * интерпретатор окружения вместо my_env
. При импорте пакета, установленного в my_env
, но не в base
, я получаю эту ошибку:
>>> import keras
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'keras'
Это происходит для всех пакетов, а не только keras
.
В на вкладке записной книжки в VSCode, если я нажимаю на имя переводчика в правом верхнем углу, затем выбираю правильного переводчика (тот, что в my_env
), тогда записная книжка работает правильно в my_env
. Но я должен делать это каждый раз, когда я снова открываю VSCode.
Как заставить ядро по умолчанию соответствовать среде, выбранной в settings.json
?