Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

VSCode Python version defaults to 2.7 in the integrated terminal no matter what I do [duplicate]

I'm running VSCode 1.36.0 on MacOS Mojave 10.14.6.

When I use the integrated terminal in VSCode and run Python it always runs Python 2.7 from /usr/bin/python on MacOS instead of the default anaconda Python. If I do the same in the system terminal everything is fine.

I've looked at the answers in these two related questions:

Why Is macOS Visual Studio Code Using Wrong Python Interpreter?

How can I change python version in Visual Studio Code?

I'm not running the code-runner extension. I've updated the python.pythonPath setting to point to Anaconda Python and yet no matter what I do, which python in the integrated terminal returns /usr/bin/python. Selecting a different conda environment with conda activate myenv doesn't do anything either.

Haven't experienced this issue before.

like image 778
fbartolic Avatar asked Aug 29 '19 15:08

fbartolic


1 Answers

Get the shell path of your default terminal by executing echo $SHELL this should output something like /bin/bash

now check if the VSCode integrated Terminal points to the same shell and if not, set the integrated shell of VSCode to the one of your terminal.

Edit (to provide the full solution):

vsCode runs every new shell as login shell so if you set the Anaconda Path in .bashrc it will not be set in the integrated shell. If this is the case, you can set "terminal.integrated.shellArgs.osx": [] to force vsCode to run a non Login shell and load .bashrc

like image 125
skat Avatar answered Oct 10 '22 05:10

skat