我有一个完美的Anaconda副本(与Spyder在python 3.7一起使用)。我安装了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
答案 0 :(得分:1)
让我们解释一下如何在启动/启动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
答案 1 :(得分:0)
尝试在PATH中用$ HOME /替换/ users / username /
答案 2 :(得分:0)
很明显,我试图让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的问题。我也会弄清楚的。截至目前,我正在工作! :-)
而且,最好的部分是朱莉娅-折磨者-可以从航站楼发射! ;-)
再次感谢大家的支持。
欢呼!