Терминал VSCode показывает неверную версию и путь Python, запуск терминала от Anaconda работает отлично - PullRequest
0 голосов
/ 08 февраля 2019

Я уже несколько часов застрял на этой проблеме и считаю, что попробовал все, кроме того, чтобы выбросить свой компьютер из окна.

У меня настроена виртуальная среда на Anaconda с использованием Python версии 3.7 иДжанго версия 2.1.Если я активирую эту виртуальную среду от Anaconda, все будет работать гладко.

(movierecommender) bash-3.2$ python -V
Python 3.7.2
(movierecommender) bash-3.2$ python -m django --version
2.1.5

Однако, когда я пытаюсь активировать среду с терминала vscode, я получаю

(movierecommender) maxs-MBP:movies maxswann$ python -V
Python 2.7.10
(movierecommender) maxs-MBP:movies maxswann$ python -m django --version
/usr/bin/python: No module named django

. У меня Python 3.7.2 64-bit ('movierecommender':conda) отображается как мой интерпретатор python в левом нижнем углу окна vscode.все же получаю неправильную версию Python

Я думал, что это может быть связано с PYTHONPATH, но попытался сбросить и сбросить, даже если мне не нужно беспокоиться об этом в Anaconda, поскольку он автоматически добавляет: "python.pythonPath":"/Users/maxswann/anaconda3/envs/movierecommender/bin/python" кфайл settings.json.vscode

, используя:

python -c "import sys; print(sys.path)"

терминал, запущенный Anaconda

['', '/Users/maxswann/anaconda3/envs/movierecommender/lib/python37.zip', '/Users/maxswann/anaconda3/envs/movierecommender/lib/python3.7', '/Users/maxswann/anaconda3/envs/movierecommender/lib/python3.7/lib-dynload', '/Users/maxswann/anaconda3/envs/movierecommender/lib/python3.7/site-packages']

Vs код терминала

['', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/Library/Python/2.7/site-packages', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC']

AsВы можете видеть, что он использует версию Python для Mac OS по умолчанию.

Кто-нибудь еще имел эту проблему раньше?Я весь день рвал на себе волосы, пытаясь исправить это

Ответы [ 2 ]

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

Я столкнулся с точно такой же проблемой.Наконец-то нашел обходной путь с форума (https://github.com/Microsoft/vscode-python/issues/4434#issuecomment-466600591)

Пока вы добавляете некоторые вещи в конфигурацию, terminal.integrated.env.osx, контент будет добавляться к PATH после инициализации оболочки (source bash_profile или zshrc).В моем Mojave я просто добавляю следующую пустую запись в мою пользовательскую конфигурацию:

"terminal.integrated.env.osx": {
        "PATH": ""
}

Тогда $PATH будет таким же, как внешний терминал.

0 голосов
/ 08 февраля 2019

Я просто столкнулся с той же проблемой.Попробуйте переключиться с терминала powershell на терминал windows.Затем перезагрузите.Это должно перезапустить с терминала анаконды.Если это не помогает, вы можете:

Сначала изменить терминал по умолчанию из Visual Code на терминал CMD вместо Powershell.Добавьте следующий код в пакетный файл.

call "c:\path\to\anaconda3\Scripts\activate"

Затем я назвал пакетный файл и сохранил его в своем корневом каталоге.В моем случае snake.bat.Теперь, когда я запускаю свой терминал CMD, я просто набираю c:\snake.bat, и приглашение CMD превращается в приглашение Anaconda.

...