我有一个完美工作的 Anaconda 副本(带有 python 3.7 的 Spyder)。我安装了 Julia 并将 Julia 添加到 PATH,以便能够使用以下命令从终端运行它(来自此源 - https://en.wikibooks.org/wiki/Introducing_Julia/Getting_started ):
ln -fs "/Applications/Julia-1.0.app/Contents/Resources/julia/bin/julia" /usr/local/bin/julia
这产生了以下影响:
A)我无法再使用
conda update conda
但是,Anaconda/Spyder 本身运行良好。
B) Mac 上的默认 Python 版本已设置回 2.7 - Mac 附带的版本
C) 键入
python3
在终端结果中,
-bash: python3: command not found
但已安装 Python 3。
D) 在终端运行以下命令,结果为
ls /usr/local/bin/python
ls: /usr/local/bin/python: No such file or directory
此外,运行以下命令,
sudo find / -iname python
生成一个名称中包含“python”的非常长的列表(包括文件夹)。
E) 它导致 Homebrew 软件安装中断。打字
brew upgrade
结果,
-bash: brew: command not found
另外,输入
cd /usr/local/Library/Homebrew
结果,
-bash: cd: /usr/local/Library/Homebrew: No such file or directory
F) 输入 sudo 命令,例如以下命令:
sudo nano ~/.bash_profile
产生以下消息:
-bash: sudo: command not found
我已寻找解决方案但无济于事。
看起来,本质上,使用 PATH 的基于终端的东西已经被破坏了。
如何修复以上所有问题?
提前致谢。
==================
编辑/更新-
1)刚刚重新启动计算机并重新启动终端时,我收到以下消息:
-bash: export: `/users/<user_name>/anaconda/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin:/Library/TeX/texbin': not a valid identifier
2) 现在,即使是终端中的 python 命令也无法被识别。打字
python
在终端中,结果为
-bash: python: command not found
最佳答案
让我们解释一下当您启动/引导 Mac 时如何设置 PATH
1. OSX 查看文件/etc/paths,该文件的内容是
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
2.因此OSX将环境变量PATH构建为
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
3.接下来OSX查看子目录/etc/paths.d/中的所有文件,有一个文件名为40-XQuartz,文件内容为
/opt/X11/bin
4.因此OSX将环境变量PATH构建为
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin
5.接下来,OSX 会查看我的 .bash_profile 文件(位于/Users/ssiew/.bash_profile),请注意 ssiew 是我的用户名。您的用户名会有所不同。该文件有以下几行
export PATH=$PATH:/Users/ssiew/bin
6.因此OSX将环境变量PATH构建为
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/Users/ssiew/bin
7.结束
因此,当您在终端/命令行上键入“julia”时,OSX 首先查找该文件
/usr/bin/julia
如果文件存在,则执行它,但如果不存在,则查找该文件
/bin/julia
如果文件存在,则执行它,但如果不存在,则查找该文件
/usr/sbin/julia
如果文件存在,则执行它,但如果不存在,则查找该文件
/sbin/julia
如果文件存在,则执行它,但如果不存在,则查找该文件
/usr/local/bin/julia
如果文件存在,则执行它,但如果不存在,则查找该文件
/opt/X11/bin/julia
如果文件存在,则执行它,但如果不存在,则查找该文件
/Users/ssiew/bin/julia
如果文件存在,则执行它,但如果不存在,则最终放弃。
对于你来说,因为你有一个符号链接(symbolic link)
ln -fs "/Applications/Julia-1.0.app/Contents/Resources/julia/bin/julia" /usr/local/bin/julia
它将在/usr/local/bin/julia 找到符号链接(symbolic link)文件并重定向到/Applications/Julia-1.0.app/Contents/Resources/julia/bin/julia
关于python - 将 Julia 添加到 PATH 导致其他人被从 PATH 中剔除 ||苹果电脑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52051760/