当前位置: 首页 > 知识库问答 >
问题:

设置使用anaconda和VS代码以及集成Git终端时卡住

壤驷心思
2023-03-14

我想学习数据科学,因此使用了一些非常受欢迎的Python模块,如熊猫,马特洛利布,Numpy等。因此,我清理了已安装的Anaconda,现在将其用作我的默认Python解释器,并且还使用Conda来安装软件包和创建虚拟环境。我使用VS代码作为我的日常文本编辑器。但是,在VS代码中使用集成的Git终端和Anaconda Python解释器时,我遇到了一些问题。

我面临着几个问题。我看到的第一个问题是当我使用CMD运行Python时。如果我在cmd中键入并输入python,就会出现anaconda提供的python解释器。但我也得到了一个警告:

警告:此Python解释器位于conda环境中,但该环境尚未激活。库可能无法加载。要激活这个环境,请看https://conda.io/activation

我没想到会得到这个输出。无论如何,VS代码中还有另一个问题。但首先我想提一下,我在安装Anaconda时已经选中了“添加到PATH”,所以没有问题。现在,当我在VS Code中打开一个新的终端时,自动运行C:/用户/用户/Anaconda3/脚本/激活,然后运行conda激活库。但是,当conda激活基地运行时,如前所述,我会自动获得一个命令不查找错误。它指出您的外壳程序尚未正确配置为使用“conda 激活”。如果使用批处理脚本中的“conda 激活”,请将调用更改为“CALL conda.bat激活”

然后我被告知要初始化我的外壳,所以我做了conda init bash,但仍然没有运气。这让我想到了.bash_profile。我认为它必须与这个bash配置文件有关。无论如何,这就是我的bash个人资料中的内容


# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
eval "$('/C/Users/User/Anaconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
# <<< conda initialize <<<

只是问题的总结:

>

  • 运行Anaconda Python解释器时CMD中出现意外警告

    在VS代码中打开新终端时,自动运行Anaconda脚本和conda activate base

    Conda init bash无济于事

    页(page的缩写)我已经尝试在CMD和Git Bash中使用< code > conda activate[env _ name],它们工作起来没有任何问题。换句话说,Anaconda和conda在VS代码终端之外可以完美地工作。

  • 共有3个答案

    包谭三
    2023-03-14

    一年后,我仍然遇到这个问题。以下是基于阿拉法特回答的精简和更新的方法。

    > < li>

    安装Git Bash

    将Git Bash配置为在VSC使用(参见如何从Visual Studio代码集成终端在Windows上使用Bash?)

    从VSC打开git bash终端

    如果conda激活成功运行,跳过其余部分

    快跑

    conda初始化bash

    检查现有的 bash 点文件:

    ls-al~/.bash*

    可能只有“.bashrc”和“.bash_profile”中的一个存在

    检查现有的点文件以获取conda初始化代码,例如。

    猫~/.bash_profile

    这包括在我的案例中。

    要解决此问题,我们必须创建缺少的点文件,并使其执行以前存在的OTHER文件:

    三通-a~/.bashrc

    if[-f~/.bash_profile];那么

    源~/.bash_profile

    菲菲

    结束

    在VSC中重新打开终端

    梁马鲁
    2023-03-14
    匿名用户

    EDIT:比使用< code>source activate让< code>conda activate命令在VS代码中的git bash终端中工作更好的解决方案:

    1. 在 VS 代码中的 Git Bash 终端中运行 conda 初始化
    2. 在 VS 代码的 Git Bash 终端中键入 bash -l,以将配置的外壳作为登录外壳启动
    3. 您现在应该能够正常运行conda激活命令!

    更多信息:bash-l运行您的~/. profile/~/。bash_profile/~/. zprofile脚本,其中实际上引用了conda可执行文件(但在其中,Git Bash作为集成终端默认不运行并引用)。因此,git bash不知道在运行conda激活命令时在哪里搜索conda,根据阿拉法特上面的解释,运行conda init会更改此中的git bash PATHs。bash_profile文件,但无效,因为VS Code中的git bash终端实际上并不引用此文件!VS Code官方文档中的更多信息。

    作为对已接受答案的补充解释,我在这里发布了一个对我有效的解决方案,可能对其他人也有帮助(改变用户设置并没有解决我的问题)。如果下面或上面接受的答案不起作用,链接也可以指向其他可行的解决方案。

    注意:在尝试下面的< code>source activate方法之前,请阅读Arafat的回答,以了解为什么通常不推荐使用它。也就是说,不要管它,因为它仍然可以解决问题。

    以下是我在windows上使用VS Code中的Git Bash终端的简单步骤:

    >

  • 源激活 env 名称 - 您现在应该看到您的行附加了(基本)标记。

    在调用源代码激活后,我发现以下conda激活命令可以工作:即conda激活env2-name

    对于Git Bash(作为VS代码终端)不起作用的东西对我来说:激活嫉妒名康达激活嫉妒名

  • 章高爽
    2023-03-14

    我自己已经找到了答案,并想在这里分享。首先,在撰写问题时,我正在使用Git Bash作为VS代码中的终端(仍在使用它)。所以问题是,当我在Git Bash或VS代码终端中运行命令conda init bash时,Conda基本上只是将用于激活Conda环境的命令放在.bash_profile因为它是在登录到Bash期间获得的。但是 VS 代码中的集成终端是 Git Bash 会话的子壳。这就是为什么.bash_profile不是在VS Code中提供的,因为.bash_profile仅在主Bash会话期间提供。.bashrc 文件是在 VS 代码中创建终端会话时提供源的文件。因此,您实际需要做的是将 conda init bash 放入.bash_profile的代码粘贴到 .bashrc 文件中,并自动使.bash_profile源代码 . bashrc 文件。

    因此,综上所述,使用conda init bash将conda命令放在中。bash_profile,通常由GitBash提供源代码,但VS code Git bash终端将使用.bashrc

    因此,您只需将代码从.bash_profile剪切并粘贴到.bashrc(如前所述),或者如果您愿意,只需按照以下方式操作:将此代码放在.bash_profile中:

    if [ -f ~/.bashrc ]; then
        source ~/.bashrc
    fi
    

    在您的. bashrc中,输入以下代码:

    # >>> conda initialize >>>
    # !! Contents within this block are managed by 'conda init' !!
    eval "$('{path_to_your_conda.exe}' 'shell.bash' 'hook')"
    # <<< conda initialize <<<
    # You can get conda.exe path by using `which conda` in Git Bash
    

    现在,当您在VS代码终端中打开Git Bash会话时,您可以使用< Code > conda activate env _ name 来激活您拥有的任何环境。

    现在一切都应该在VS Code终端中按预期工作,但我想进一步详细说明一些事情。如果您愿意,您可以跳过conda init bash过程(不推荐,请继续阅读以获取更多知识,但请仅按照上述步骤操作)。这是conda4.4.0中引入的一项功能。在此之前,激活conda环境的方式是使用源激活,但该命令不是跨平台的,这意味着该命令不能在Windows等操作系统中使用。所以他们通过引入命令来做这个改变,比如:conda激活env_name,这样conda环境变得更容易使用,尽管有操作系统平台。

    conda-activate还有其他优点。这直接来自他们的发布文档:

    conda 激活:重新设计了底层环境激活的逻辑和机制。在 conda 4.4 中,conda 激活和 conda 停用现在是激活和停用环境的首选命令。您会发现它们比以前的conda版本中的源激活和源停用命令更活泼。conda激活命令还具有以下优点:(1)在所有操作系统,shell和平台上都是通用的,以及(2)不会与其他软件包(如Python virtualenv的激活脚本)中的脚本发生路径冲突。

    我用这个问题作为参考。查看以了解更多信息。

    话虽如此,如果您使用的是Git Bash,则使用源代码激活env_name仍然可以工作,即使在VS代码Git Bash终端中也是如此。源激活env_name不需要事先设置或配置。但强烈建议您仅使用 conda init 来设置所有内容,然后使用 conda 激活env_name

    [注意]:在Windows上查找和修改所述.bashrc.bash_profile通常不像在Linux上那么简单。但可以很容易地完成,像这样:

    不言而喻,但是,您应该安装Git Bash。据我所知,安装 Git Bash 应该会自动创建 .bashrc.bash_profile,或者两者兼而有之。这些文件被称为“dotfiles”(因为它们以点开头),默认情况下,这些文件在大多数操作系统上都是隐藏的,在Windows上肯定是隐藏的。如果它们是由 Git Bash 在您的系统上自动创建的,则它们很可能被放置在您的主目录中。视窗上的主目录是 C:\用户\

    1. 打开 Git Bash 并转到您的主目录:cd。只需键入此内容,您将在您的主目录中
    2. 输入以下命令:ls -a,您将看到所有文件,甚至是隐藏的文件。查找.bash_profile.bashrc。两者都应该存在。如果是,您可以按照上述说明进行操作。但是,如果一个不存在,或者如果两者都丢失,请使用:触摸.bashrc创建它们

    在问题中,我还谈到了VS代码自动激活Conda环境。VS代码这样做没有问题,因为这是默认行为。我误解了这是一个问题。但是如果有人想阻止VS代码自动这样做,我建议尝试在用户设置中设置:

    < code > " python . terminal . activate environment ":false

     类似资料:
    • 目前,我在VS代码集成终端上运行Python代码时遇到问题,尽管代码在任何其他编辑器或Powershell(Windows用户)上都能完美运行。 我目前正在使用Python的Anaconda版本(PATH上的Anaconda),但在昨晚对VS代码进行了一些更新后,错误阻止了我在集成终端上运行代码。我尝试重新安装Anaconda和VS代码,但问题仍然存在。 第1行字符:41 ... onda3/py

    • 有什么建议如何在VS Code中的代码和集成终端之间切换? 例如,在 PowerShell ISE 中,它是:Ctr D 终端和 Ctr I 代码 找不到任何类似的VS Code。 提前感谢您的任何建议

    • 有一个快捷方式来显示集成终端。但如果终端已经打开,这将隐藏它。如果有一个快捷方式,在编辑器上键入时专注于终端,那就太好了。

    • 在Visual Studio代码中选择WSL作为默认终端后,我无法打开终端窗口。终端窗口打开,随机文本出现在屏幕上,然后终端关闭并显示一条错误消息:“终端进程终止,退出代码:4294967295”。 有人知道这是为什么吗?我看了一些vscode github问题帖子,但我似乎无法让任何东西发挥作用。 查看我的设置屏幕截图。json文件和下面发生的事情的gif:

    • 我最近卸载并重新安装了VS代码,因为我想重新开始。然而,现在VS代码表示python3在库/框架下。。。python在usr/bin/python下。在终端中,这些都是针对哪个python和哪个python3的

    • 有人知道如何设置使用cmd的按钮吗?