python - 将 Julia 添加到 PATH 导致其他人被从 PATH 中剔除 ||苹果电脑

标签 python macos anaconda julia homebrew

我有一个完美工作的 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/

相关文章:

python - 使用内置函数计算数字的数字之和

python - python youtube-dl 的下载器选项 --restrict-filenames是什么

ios - 获取Apple Clock应用程序中使用的城市/时区列表

pyqt - Anaconda 更新破坏了 Spyder?

python - 无法为 'qt5' 启用 GUI 事件循环集成

python - Python3.6 的 virtualenv 上没有名为 '_sqlite3' 的模块

python - 如何将一个 py 文件中创建的 SparkContext 导入/检查到另一个 py 文件?

Python:添加包含列元素成对乘积的列的最快方法

macos - macOS Catalina 更新 : there is no POM in this directory 后,Maven 从终端停止工作

python-2.7 - Pandas 导入非常慢(Anaconda Python 2.7)