Mac下安装指定Python版本

󰃭 2017-02-26

场景

Mac下自带Python2.7, 但我的项目中要求使用python3.4, 所以需要在我的mac上安装一个这个版本的python,

尝试

我首先尝试了使用brew 直接安装python3, 然后安装完成后, 才发现安装的是python3.6, 查遍了各种资料, 都没有啥简单的安装方式

这里说一下,我的brew 默认的源安装特别慢, 在这里我将源切换到中科大的, 装起来就嗖嗖的了

替换brew.git:
cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git

替换homebrew-core.git:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git

替换Homebrew Bottles源(zsh配置)
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc

再试

先把brew安装好的python3.6卸载掉

brew remove python3

这次从官网下载对应版本的包,

下载链接: https://www.python.org/ftp/python/3.4.4/python-3.4.4-macosx10.6.pkg

下载完成后, 双击安装即可完成安装

现在, 我们执行版本查看

python3 --version
Python 3.4.4

输出的确实是我想要的python3.4

ipython安装

这里我安装的ipython是针对系统默认的py2.7安装的, 使用的是pip的安装的方式

pip install ipython

然而这样安装会报一些权限问题, 即便使用sudo, 也会有权限的问题。

OSError: [Errno 1] Operation not permitted: '/tmp/pip-nR43q7-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'

这里我们以当前登陆用户的身份执行安装

pip install ipython --user -U

这样就可以直接完成安装了。

安装完成后要注意, 这种方式安装的ipython是在个人用户目录下的,而用户目录并没有在 $PATH 中, 所以直接执行ipython并不能执行到。

我安装好后ipython所在的目录是

./Library/Python/2.7/bin/ipython

我们将其软链到$PATH下的某个目录中

ln -sf /Users/user_name/Library/Python/2.7/bin/ipython /usr/local/sbin/

注意, 软链的时候一定要使用绝对路径, 相对路径会报文件找不到。

现在, 我们就能直接执行ipython