Ara*_*han 5 python git bash anaconda conda
我想学习数据科学,因此使用了一些非常流行的 Python 模块,如 Pandas、Matplotlib、Numpy 等。所以我清理了安装的 Anaconda,现在将其用作我的默认 Python 解释器,并使用 Conda 安装包和创建虚拟环境. 我使用 VS Code 作为我的日常文本编辑器。但是我在 VS Code 中使用集成的 Git 终端和 Anaconda Python 解释器时遇到了一些问题。
我面临着几个问题。我看到的第一个问题是当我使用 CMD 运行 Python 时。如果我python在 cmd 中输入并输入,就会出现 anaconda 提供的 Python 解释器。但我也收到警告:
警告:此 Python 解释器在 conda 环境中,但该环境尚未激活。库可能无法加载。要激活此环境,请参阅https://conda.io/activation
我没想到会得到这个输出。无论如何,VS代码还有一个问题。但首先我想提一下,我在安装 Anaconda 时检查了“添加到路径”,所以没有问题。现在,当我在 VS Code 中打开一个新终端时,会自动C:/Users/User/Anaconda3/Scripts/activate运行然后conda activate base运行。但是当conda activate base它自动运行时,如上所述,我得到一个 CommandNotFoundError。它指出Your shell has not been properly configured to use 'conda activate'.
If using 'conda activate' from a batch script, change your
invocation to 'CALL conda.bat activate'
然后我被告知要初始化我的外壳,所以我做了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 <<<
Run Code Online (Sandbox Code Playgroud)
简单总结一下问题:
运行 Anaconda Python 解释器时 CMD 中出现意外警告
在 VS Code 中打开新终端时自动运行 Anaconda Scripts 和 conda activate base
Conda init bash 没有帮助
PS 我曾尝试conda activate [env_name]在 CMD 和 Git Bash 中使用,并且它们的工作没有任何问题。换句话说,Anaconda 和 Conda 在 VS Code 终端之外完美运行。
Ara*_*han 14
我自己已经找到了答案,并想在这里分享。首先,在撰写问题时,我在 VS Code 中使用 Git Bash 作为我的终端(我仍在使用它)。所以问题是,当我conda init bash在 Git Bash 或 VS Code 终端中运行命令时,Conda 基本上只是将用于激活 Conda 环境的命令放在 .bash_profile 中,因为它是在登录 Bash 期间获取的。但是 VS Code 中的集成终端是 Git Bash 会话的子shell。这就是为什么.bash_profile不在 VS Code 中获取的原因,因为.bash_profile仅在主 Bash 会话期间获取。该.bashrc文件是在 VS Code 中创建终端会话时获取的文件。所以,你真正需要做的是采取放入代码.bash_profile通过conda init bash,并贴到您的.bashrc文件并自动生成.bash_profile该.bashrc文件的源。
所以,综上所述,使用conda init bash将放在了畅达的命令.bash_profile,它通常是由Git的Bash的来源,但VS代码的Git Bash终端将使用.bashrc。
因此,您可以将代码从.bash_profileto剪切并粘贴.bashrc(如前所述),或者如果您愿意,只需按照以下步骤操作:将此代码放入您的.bash_profile:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
Run Code Online (Sandbox Code Playgroud)
在您的 中.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
Run Code Online (Sandbox Code Playgroud)
现在,当您在 VS Code Terminal 中打开 Git Bash 会话时,您可以使用它conda activate env_name来激活您拥有的任何环境。
现在一切都应该在 VS Code 终端中按预期工作,但我想进一步详细说明一些事情。如果需要,您可以跳过该conda init bash过程(不推荐,请继续阅读以获取更多知识,但请仅按照上述步骤操作)。这是 conda 中引入的功能4.4.0。直到那时,激活 conda 环境的方法是使用,source activate但该命令不是跨平台的,这意味着该命令不能在 Windows 等操作系统中使用。因此,他们通过引入以下命令进行了更改:conda activate env_name这样尽管操作系统平台,conda 环境也变得更易于使用。
conda activate还具有其他优点。这直接来自他们的发布文档:
conda activate:重新设计了环境激活的逻辑和机制。在 conda 4.4 中, conda activate 和 conda terminate 现在是用于激活和停用环境的首选命令。您会发现它们比以前 conda 版本中的 source activate 和 source activate 命令更加快捷。conda activate 命令还具有以下优点:(1) 在所有操作系统、shell 和平台上通用,以及 (2) 不会与来自其他包(如 Python virtualenv 的 activate 脚本)的脚本发生路径冲突。
我用这个问题作为参考。查看以了解更多信息。
话虽如此,如果您使用 Git Bash,即使在 VS Code Git Bash 终端中使用source activate env_name仍然有效。不需要事先设置或配置。但强烈建议您只使用来设置一切,然后使用.source activate env_nameconda initconda activate env_name
[注意] :在 Windows 上定位和修改所述.bashrc和.bash_profile通常不像在 Linux 上那么简单。但是可以像这样很容易地完成:
不用说,但是,您应该安装 Git Bash。据我所知,安装 Git Bash 后应该会自动创建.bashrc,.bash_profile或者两者兼而有之。这些文件被称为“dotfiles”(因为它们以点开头)并且默认情况下这些文件在大多数操作系统上都是隐藏的,当然在 Windows 上也是如此。如果它们是由 Git Bash 在您的系统上自动创建的,则它们很可能位于您的主目录中。Windows 上的主目录是C:\Users\<you>\. 话虽如此,请按照以下步骤操作:
cd。只需输入这个,你就会在你的主目录中ls -a你会看到你所有的文件,甚至是隐藏的文件。寻找.bash_profile和.bashrc。两者都应该存在。如果是,您就可以按照上述说明进行操作。但是,如果一个不存在或两者都丢失,请使用以下方法创建它们:touch .bashrc && touch .bash_profile。再次键入时,您现在应该会看到这些文件:ls -a.bashrc和.bash_profile,您可以按照上述说明进行操作。此外,要更快地访问这两个文件,请使用 VS Code 像这样打开它们:code ~/.bashrc或code ~/.bash_profile. 现在,按照说明修改这两个文件。在问题中,我还谈到了 VS Code 自动激活 Conda 环境。VS Code 这样做没有问题,因为这是默认行为。我误解了这是一个问题。但是,如果有人希望阻止 VS Code 自动执行此操作,我建议尝试在用户设置中进行设置:
"python.terminal.activateEnvironment": false
| 归档时间: |
|
| 查看次数: |
3002 次 |
| 最近记录: |