[英]Adding Julia to PATH caused others to be knocked off the PATH || Mac OSX
我有一个完美的 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)它导致自制软件安装中断。 打字
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 在 /Users/ssiew/.bash_profile 中查看我的 .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
如果文件存在,则执行它,但如果文件不存在,则最终放弃。
至于你,因为你有一个符号链接
ln -fs "/Applications/Julia-1.0.app/Contents/Resources/julia/bin/julia" /usr/local/bin/julia
它将在 /usr/local/bin/julia 找到符号链接文件并重定向到 /Applications/Julia-1.0.app/Contents/Resources/julia/bin/julia
尝试在您的路径中用 $HOME/ 替换 /users/username/
显然,我在试图让 Julia 从终端启动时破坏了 PATH 变量——这反映了我对 PATH 变量缺乏了解。
我能够使用@FlyingTeller @crstbr 和@Steven Siew 提供的帮助恢复自制软件python/python3。
谢谢!
我只需要将原始路径添加到 .bash_profile 文件中。
尽管如此,conda 问题被证明是虚幻的。 最终,即使是通过更改 .bash_profile 文件中的路径也解决了这个问题。 相关路径是:
export PATH="/anaconda3/bin:$PATH"
忽略以下内容:
/users/<user-name>/<remaining_path-to-anaconda>/bin:$PATH
或者
~/<remaining_path-to-anaconda>/bin:$PATH
我想,如果首先弄清楚 anaconda 文件夹的确切位置会有所帮助。
我仍然需要解决有关使 anaconda python 成为终端中默认 python 的问题。 我也会弄清楚的。 到目前为止,我已经开始工作了! :-)
而且,最好的部分是 Julia - 折磨者 - 可以从终端启动! ;-)
再次感谢大家的支持。
干杯!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.