Конда не работает правильно с рыбной раковиной - PullRequest
0 голосов
/ 05 апреля 2019

При использовании окружений conda внутри оболочки fish в macOS, python по-прежнему указывает на системный python (/usr/local/bin/python) вместо указания на версию python, установленную средой conda (<PATH TO MINICONDA>/envs/<ENV NAME>/bin/python).Все остальное (например, ipython, jupyter) указывает на правильный путь, просто python ведет себя не так, как ожидалось.Как это исправить?

Подробности:

Выполнены следующие шаги в следующем порядке на macOS Mojave 10.14.3:

На данный момент я могу успешно активировать и деактивировать среду 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

А в рыбе:

/usr/local/bin/python

Любая помощь будет наиболее ценной, спасибо.

1 Ответ

1 голос
/ 05 апреля 2019

Python не указывает, где он должен

Проще говоря, это означает, что есть компонент пути, который включает Python перед тем, который вам нужен.В этом случае / usr / local / bin находится перед / envs // bin / in $ PATH (если он вообще там).

См. command -sa python, который должен вывести all Питон может это сделать, и соответственно скорректировать ваш $ PATH, возможно, поместив нужный вам файл в $ fish_user_paths, который добавляется к $ PATH.

...