在 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 上按以下顺序执行以下步骤:
- 通过 bash 安装脚本安装了 miniconda(不久前)
- 使用自制软件安装了fish
- 已更新
config.fish
按照:Cannot run source activate with conda in Fish-shell
此时,我可以在 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/