康达鱼壳不能正常工作

时间:2019-04-04 23:29:43

标签: 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上按以下顺序执行以下步骤:

至此,我可以成功激活和停用鱼类内部的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

用bash呼叫which python

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

还有鱼:

/usr/local/bin/python

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

  

python并未指出应该在哪里

简而言之,这意味着在您想要的路径组件之前有一个包含python的路径组件。在这种情况下,/ usr / local / bin在$ PATH中的/ envs // bin /之前(如果完全在其中)。

请参见//lower scoped object (in subcomponent) @Provides @ModelScope ISupResRankStrategy iSupResRankStrategy(@Named("TradeModelConfig") JsonNode configSubTree, Lazy<SortByMagnitudeSum> strat1, Lazy<SortByShadowPercentage> strat2) { @SuppressWarnings("rawtypes") Map<String, Lazy> availableStrategies = new HashMap<>(); availableStrategies.put(SortByMagnitudeSum.class.getSimpleName(), strat1); availableStrategies.put(SortByShadowPercentage.class.getSimpleName(), strat2); String configuredStrategy = configSubTree.findValue("ISupResRankStrategy").asText(); return (ISupResRankStrategy) availableStrategies.get(configuredStrategy).get(); } ,它应该打印所有可以的 all python,并相应地调整$ PATH,可能是将所需的$ PATH_user_paths放入$ fish_user_paths中。