繁体   English   中英

将 Julia 添加到 PATH 导致其他人被从 PATH 中剔除 || Mac OSX

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM