python - conda 无法与 Fish shell 一起正常工作

标签 python shell anaconda conda fish

在 macOS 上的 Fish shell 内使用 conda 环境时,python仍然指向系统 python ( /usr/local/bin/python ),而不是指向 conda 环境安装的 python 版本 ( <PATH TO MINICONDA>/envs/<ENV NAME>/bin/python )。其他所有内容(例如 ipythonjupyter )都指向正确的路径,只是 python行为不符合预期。我该如何解决这个问题?

详细信息:

在 macOS Mojave 10.14.3 上按以下顺序执行以下步骤:

此时,我可以在 fish 体内成功激活和停用 conda 环境,但正如本问题顶部所述 python没有指向它应该指向的地方。其他一切(例如 ipython )都正常工作。

conf info返回(bash 和 Fish 中相同):

     active environment : base
    active env location : /Users/salamon/dev/miniconda3
            shell level : 1
       user config file : /Users/salamon/.condarc
 populated config files : 
          conda version : 4.6.11
    conda-build version : not installed
         python version : 3.7.1.final.0
       base environment : /Users/salamon/dev/miniconda3  (writable)
           channel URLs : https://repo.anaconda.com/pkgs/main/osx-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/free/osx-64
                          https://repo.anaconda.com/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/r/osx-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /Users/salamon/dev/miniconda3/pkgs
                          /Users/salamon/.conda/pkgs
       envs directories : /Users/salamon/dev/miniconda3/envs
                          /Users/salamon/.conda/envs
               platform : osx-64
             user-agent : conda/4.6.11 requests/2.21.0 CPython/3.7.1 Darwin/18.2.0 OSX/10.14.3
                UID:GID : 501:20
             netrc file : None
           offline mode : False

调用which python在bash中:

/Users/salamon/dev/miniconda3/bin/python

在 fish 中:

/usr/local/bin/python

任何帮助将不胜感激,谢谢。

最佳答案

python doesn't point to where it should

很简单,这意味着在您想要的路径组件之前有一个包含 python 的路径组件。在这种情况下,/usr/local/bin 位于 $PATH 中的/envs//bin/之前(如果它确实存在的话)。

参见命令-sa python,它应该打印它可以的所有个python,并相应地调整你的$PATH,可能是将你想要的放入$fish_user_paths中,这被添加到 $PATH 之前。

关于python - conda 无法与 Fish shell 一起正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55526314/

相关文章:

python - 解析sql select语句以获取python中的where子句条件

json - 使用 jq 将 JSON 转换为 Markdown 列表

linux - 计算linux目录下的文件数

python-3.x - 如何将conda环境转移到离线计算机

python - 用 Anaconda 安装了一个包,无法在 Python 中导入

python - 对字符串进行排序以生成新字符串

python - 可读套接字在recv上超时

python - 当访问浮点值列表中的单个元素时,值会四舍五入

linux - 为什么脚本无法识别文件扩展名?

python - 在 Visual Studio Code 中从正确的 anaconda 环境启动 PyLint