在macOS的fish shell中使用conda环境时,python
仍指向系统python(/usr/local/bin/python
),而不是指向conda环境安装的python版本(<PATH TO MINICONDA>/envs/<ENV NAME>/bin/python
)。其他所有内容(例如ipython
,jupyter
)都指向正确的路径,只是python
的行为不符合预期。我该如何解决?
详细信息:
在macOS Mojave 10.14.3上按以下顺序执行以下步骤:
config.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
用bash呼叫which python
:
/Users/salamon/dev/miniconda3/bin/python
还有鱼:
/usr/local/bin/python
非常感谢您的帮助。
答案 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中。