【问题标题】:Visual Studio Code Integrated Terminal not using correct Anaconda environmentVisual Studio Code 集成终端未使用正确的 Anaconda 环境
【发布时间】:2019-02-26 04:27:04
【问题描述】:

我在使用 Anaconda 环境的 Python 项目中使用 Visual Studio Code。

当我打开集成终端时,我看到了这个:

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$

sourceconda 命令是为我输入的,因为我在我的用户设置中选择了 Python => 终端:激活环境打开。它正在尝试激活正确的环境。这也是我在窗口左下方看到的环境。

问题是当我尝试使用 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]: 

它在默认的 Anaconda 环境中运行 Python,而不是应该被激活的环境。这是路径:

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 扩展。

如何让它工作?我可以在打开集成终端时更改为我发出的命令吗?

【问题讨论】:

    标签: python visual-studio-code conda


    【解决方案1】:

    我得到了这个工作。

    问题与我的 .bashrc 文件中设置的 PATH 有关。以前我有这个:

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

    Anaconda 安装通常在路径之后而不是之前添加 anaconda bin 目录。我之所以进行此调整,是因为我希望终端中的默认 Python 是 Anaconda 基础环境,而不是我机器上安装的其他环境。

    为了修复它,我将它切换回来并添加了一个激活命令。这可能是让 Anaconda Python 环境成为终端中默认 Python 的正确方法。

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

    为了调试它,我查看了我的终端和 VS Code 的集成终端中的 PATH 环境变量。

    echo $PATH
    

    在激活 conda 环境时,VS Code 的集成终端似乎对 PATH 环境变量做了不同的事情,从而导致了不同的行为。

    【讨论】:

      猜你喜欢
      • 2017-12-18
      • 2021-08-04
      • 1970-01-01
      • 1970-01-01
      • 2021-05-06
      • 2018-03-09
      • 2017-07-25
      • 1970-01-01
      • 2017-09-04
      相关资源
      最近更新 更多