【问题标题】:Why is Anaconda source activate non-existent?为什么 Anaconda 源激活不存在?
【发布时间】:2016-02-02 22:53:41
【问题描述】:

我在 Anaconda 中成功创建了两个独立的 Python 环境,但似乎无法激活其中任何一个。我已尝试在 Stackoverflow 上尽可能多地阅读此主题,但没有解决方案能解决我的问题。我在这个问题 (Anaconda Environment Doesnt activate) 中添加了 cmets 要求的信息。

尝试激活环境时,控制台输出为-bash: activate: No such file or directory

which conda 的输出是/Users/username/anaconda3/bin/condatype source 的输出是 source is a shell builtin。 尝试which activate 时,shell 什么也不返回。

在我的bin 文件夹中,我似乎也没有activate 可执行文件,而只有一个名为activate-global-python-argcomplete 的可执行文件。

为什么我缺少标准激活文件以及如何最好地解决这个问题?

【问题讨论】:

    标签: python macos anaconda


    【解决方案1】:

    我的问题是文件 /opt/pycharm/plugins/terminal/.zshrc(使用 ZSH)包含行 source $JEDITERM_SOURCE。该变量包含正确的路径作为两个参数<path-to-anaconda-activate>/activate <path-to-anaconda>,但显然它们被解释为单个参数:<path-to-anaconda-activate>/activate <path-to-anaconda>

    我解决了将eval 附加到该行的问题,使其成为eval source $JEDITERM_SOURCE。现在,变量正确展开了。

    如果您使用的是 bash,则对 /opt/pycharm/plugins/terminal/jediterm-bash.in 进行相同的更改。

    【讨论】:

      【解决方案2】:

      我在 pycharm 中使用 bash shell 并通过进行此更改来解决问题:

      [~/opt/pycharm-community/plugins/terminal]$ diff jediterm-bash.in.old jediterm-bash.in
      65c65
      <   source "$JEDITERM_SOURCE"
      ---
      >   eval source "$JEDITERM_SOURCE"
      

      基本上按照https://stackoverflow.com/users/1564931/netchkin 的建议进行相同的更改,但更改为~/opt/pycharm-community/plugins/terminal/jediterm-bash.in

      这修复了我现有的项目。但是任何新项目似乎都没有尝试激活 conda 环境。似乎在 Pycharm 2017.1.2 中创建的新项目在终端插件中启动会话时没有设置 JEDITERM_SOURCE 变量。

      https://youtrack.jetbrains.com/issue/PY-23417 有一个未解决的问题

      4.4.0 版中的 conda 激活脚本似乎发生了很大变化。见https://conda.io/docs/release-notes.html。如果我将 conda 降级到 4.3.34,那么我可以让 conda 虚拟环境再次在 pycharm 终端中工作。

      【讨论】:

        【解决方案3】:

        不要这样做!!!,这破坏了我的 dnf

        首先我尝试将源指向激活文件,

        source /usr/lib64/python3.6/venv/scripts/common/activate environment
        

        这似乎有效,但没有更新实际值。我尝试了mattexx的答案,但它抱怨没有安装conda,所以我使用了。

        conda install conda
        

        我必须拥有 root 权限,因为它被安装到 root 环境中,但之后一切似乎都正常工作。

        这就是我安装 Fedora 的原因

        【讨论】:

        • 在 Fedora 中,通过包 "conda-activate" -> "sudo dnf install conda-activate" 安装激活
        • 谢谢,这会很有帮助。 conda 可以在没有激活的情况下安装,这真的很奇怪,因为它不会做太多。
        【解决方案4】:

        在这种情况下,问题可能是虚拟环境是在/Users/username/anaconda3/envs/ 中创建的,因此激活将在: /Users/username/anaconda3/envs/NAME_OF_YOUR_VIRTUAL_ENV/bin/activate

        因此激活您可以运行的环境:
        source /Users/username/anaconda3/envs/NAME_OF_YOUR_VIRTUAL_ENV/bin/activate

        【讨论】:

          【解决方案5】:

          tcsh 对我来说是个问题。改成 bash 就好了。

          【讨论】:

          • 你是怎么做到的?
          【解决方案6】:

          我遇到了类似的问题。就我而言,问题与tcsh 的使用有关,但activate 仅支持bashzsh

          您可以使用以下命令检查您当前使用的 shell echo $0.

          您必须使用兼容的外壳才能使用source activate 命令。

          【讨论】:

          • 那么,在tcsh上怎么做呢?
          【解决方案7】:

          我想你碰巧安装了一个错误版本的 anaconda,它很快就被修补了。

          conda update conda
          

          应该让您恢复正常运行。

          【讨论】:

          • 适合我的解决方案。 source activate 起初工作正常,但在安装了一些软件包后,我认为它可能已经损坏。我担心是否必须再次安装整个 Anaconda。感谢您提供简单的解决方案。
          • 这对我有用。在我安装 conda-env 之前,source activate 正在工作。
          【解决方案8】:

          启动一个新终端,然后重试。或者,输入hash -r 看看是否有帮助。

          【讨论】:

          • 完全没有效果,很遗憾。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-03-14
          • 2021-09-06
          • 2016-11-28
          • 2017-09-07
          • 2016-07-31
          • 1970-01-01
          相关资源
          最近更新 更多