我的〜/ .bashrc文件中有这一行
export python="/usr/local/bin/python3.6"
这行在我的〜/ .bash_aliases文件中
alias python='/usr/local/bin/python3.6'
这是我的PATH变量
/Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Wireshark.app/Contents/MacOS
我仍然有以下python版本和路径
User$ which python
/usr/bin/python
User$ python --version
Python 2.7.10
我也已经尝试退出终端并重新开启
以下是目录/usr/local/bin/python3.6*和/ usr / bin / python *
User$ /usr/local/bin/python3.6
python3.6 python3.6-config python3.6m-config
python3.6-32 python3.6m
User$ /usr/bin/python
python python2.6-config pythonw
python-config python2.7 pythonw2.6
python2.6 python2.7-config pythonw2.7
感谢您
答案 0 :(得分:1)
我认为问题可能是,您启动了一个查找~/.bash_profile
的登录shell,而~/.bash_aliases
中未找到~/.bash_profile
。因此,alias
中的~/.bash_aliases
命令从未执行过。您可以通过调用alias python
。
BTW,导出一个名为python的变量在你的情况下是没有意义的 永远不会被使用。
阅读〜/ .bash *文件的apropos,您可以在man bash
章节中引用INVOCATION
。以下是其中一些。
当bash作为交互式登录shell调用时,或作为非交互式shell调用 --login选项,它首先从文件/ etc / profile中读取并执行命令,如果该文件 存在。在读取该文件后,它会查找〜/ .bash_profile,〜/ .bash_login和〜/ .profile,in 该命令,从第一个存在且可读的命令读取和执行命令。该 启动shell以禁止此行为时,可以使用--noprofile选项。
当启动不是登录shell的交互式shell时,bash会读取并执行命令 来自〜/ .bashrc,如果该文件存在。使用--norc选项可以禁止此操作。该 --rcfile file选项将强制bash从文件中读取和执行命令,而不是〜/ .bashrc。
答案 1 :(得分:0)
将这些文件复制到您的.bash_profile
文件中,这是OS X中的终端会话要查找的内容。另外,正如其他人提到的那样,将python作为环境变量导出将不会做任何事情 - 别名应该足够了。