Visual Studio Code Integrated Terminal не использует правильную среду Anaconda - PullRequest
0 голосов
/ 26 февраля 2019

Я использую код Visual Studio для проекта Python, использующего среду Anaconda.

Когда я открываю встроенный терминал, я вижу это:

jim@main:~/Projects/ITP/thesis$ source /home/jim/INSTALL/anaconda3/bin/activate
(base) jim@main:~/Projects/ITP/thesis$ conda activate research
(research) jim@main:~/Projects/ITP/thesis$

source и *Для меня набраны команды 1007 *, потому что в моих настройках пользователя выбрано открытое окно Python => Terminal: Activate Environment.Он пытается активировать правильную среду.Это также среда, которую я вижу в левом нижнем углу окна.

Проблема заключается в том, что, когда я пытаюсь использовать Python или IPython, обнаруживается, что выполняется неверная версия Python.Путь также неверен.

(research) jim@main:~/Projects/ITP/thesis$ which python
/home/jim/INSTALL/anaconda3/bin/python
(research) jim@main:~/Projects/ITP/thesis$ which ipython
/home/jim/INSTALL/anaconda3/bin/ipython
(research) jim@main:~/Projects/ITP/thesis$ ipython
Python 3.6.7 |Anaconda, Inc.| (default, Oct 23 2018, 19:16:44) 
Type 'copyright', 'credits' or 'license' for more information
IPython 6.4.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: 

Он работает на Python из среды Anaconda по умолчанию, а не той, которая предположительно активирована.Вот путь:

In [1]: import sys

In [2]: sys.path
Out[2]: 
['',
 '/home/jim/INSTALL/anaconda3/bin',
 '/home/jim/INSTALL/python',
 '/home/jim/INSTALL/ipython',
 '/home/jim/INSTALL/anaconda3/lib/python36.zip',
 '/home/jim/INSTALL/anaconda3/lib/python3.6',
 '/home/jim/INSTALL/anaconda3/lib/python3.6/lib-dynload',
 '/home/jim/.local/lib/python3.6/site-packages',
 '/home/jim/INSTALL/anaconda3/lib/python3.6/site-packages',
 '/home/jim/INSTALL/anaconda3/lib/python3.6/site-packages/IPython/extensions',
 '/home/jim/.ipython']

Когда я выполняю те же команды с обычного терминала, я получаю правильные результаты:

jim@main:~$ source /home/jim/INSTALL/anaconda3/bin/activate
(base) jim@main:~$ conda activate research
(research) jim@main:~$ which ipython
/home/jim/INSTALL/anaconda3/envs/research/bin/ipython
(research) jim@main:~$ ipython
Python 3.7.2 (default, Dec 29 2018, 06:19:36) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.2.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import sys                                                                                                                                                                              

In [2]: sys.path                                                                                                                                                                                
Out[2]: 
['/home/jim/INSTALL/anaconda3/envs/research/bin',
 '/home/jim/INSTALL/python',
 '/home/jim/INSTALL/anaconda3/envs/research/lib/python37.zip',
 '/home/jim/INSTALL/ipython',
 '/home/jim/INSTALL/anaconda3/envs/research/lib/python3.7',
 '/home/jim/INSTALL/anaconda3/envs/research/lib/python3.7/lib-dynload',
 '',
 '/home/jim/INSTALL/anaconda3/envs/research/lib/python3.7/site-packages',
 '/home/jim/INSTALL/anaconda3/envs/research/lib/python3.7/site-packages/IPython/extensions',
 '/home/jim/.ipython']

Я использую расширение Python 2019.1.0.

Как мне заставить это работать?Могу ли я изменить выданные мне команды при открытии интегрированного терминала?

1 Ответ

0 голосов
/ 01 марта 2019

Я получил это на работу.

Проблема была связана с моим PATH, как установлено в моем файле .bashrc.Ранее у меня было это:

export PATH="/home/jim/INSTALL/anaconda3/bin:$PATH"

Установки Anaconda обычно добавляют каталог bin Anaconda после пути, а не до.Я сделал эту настройку, потому что хотел, чтобы Python по умолчанию в терминале был базовой средой Anaconda, а не другой средой, установленной на моей машине.

Чтобы исправить это, я переключил его обратно и добавил команду активации.Вероятно, это правильный способ сделать среду Python Anaconda стандартным Python в терминале.

export PATH="$PATH:/home/jim/INSTALL/anaconda3/bin"
source /home/jim/INSTALL/anaconda3/bin/activate

Чтобы отладить это, я посмотрел на переменную среды PATH в моем терминале и во встроенном терминале VS Code.

echo $PATH

VS Встроенный терминал кода, похоже, делает разные вещи с переменной среды PATH при активации среды conda, вызывая различные варианты поведения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...