安装 Python 3 - Mac OS X
最新版本的 Mac OS X,High Sierra 中自带了 Python 2.7 开箱即用。
你不需要安装或配置任何其他东西去使用 Python 2。以下文档主要是针对 Python 3 的安装说明。
随 OS X 一起附带的 Python 版本对学习来说非常好用,但对开发来说并不好,而且它的版本可能有些过时了。 官方最新 Python 版本 才是最稳定的生产版本。
立刻行动吧
我们先来安装一个真正的 Python 。
在开始安装之前,你需要先安装 GCC 。GCC 可以通过下载安装 XCode ,或者小一点的命令行工具 Command Line Tools (需要有苹果账号)或者更小的 OSX-GCC-Installer 来获取。
注意:如果你已经安装了 XCode ,就不需要再安装 OSX-GCC-Installer 了。 都安装的话可能会导致未知错误。
注意:如果是初次安装 XCode ,你可能需要在终端里通过执行
xcode-select --install
来添加命令行工具。
即便 OS X 有许多的 UNIX 特性,但是熟悉 Linux 系统的人都会注意到 OS X 缺少一个关键的东西:包管理器。 Homebrew 填补了这项空白。
打开 Terminal
或者你最喜欢的 OS X 终端模拟器里来执行下面这段代码来安装 Homebrew
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
这段脚本会在安装开始之前向你说明它将要做什么并提示你。安装完了 Homebrew,还需要将 Homebrew 目录添加到你的 PATH
环境变量里。你可以在 ~/.profile
文件底部追加这行代码来达到这个目的。
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
现在,我们可以安装 Python 3 了:
$ brew install python
安装需要一到两分钟。
Pip
Homebrew 会为你的 Python 3 选择合适的 pip
版本
使用 Python 3
现在,你有系统自带的 Python 2.7 版本和通过 Homebrew 安装的 Python 3 ,可能还会有通过 :ref:Homebrew version of Python 2 <install-osx>
安装的 Python 2
$ python
将会进入通过 Homebrew 安装的 Python 3 的交互环境
$ python2
将会进入通过 Homebrew 安装的 Python 2 的交互环境
$ python3
将会进入通过 Homebrew 安装的 Python 3 的交互环境
译注:如果你没有通过:ref:Homebrew version of Python 2 <install-osx>
这种方式安装 Python 2
那么在 Heigh Sierra 10.13.4 版本下
$ python
将会进入通过系统自带的 Python 2 的交互环境
$ python3
将会进入通过 Homebrew 安装的 Python 3 的交互环境
如果安装了 Homebrew 版的 Python 2,那么 pip2
将指向 Python 2,如果安装了 Homebrew 版的 Python 3 ,那么 pip
将会指向 Python 3。
本指南的下文将假设 python
代表的是 Python 3。
# 我是否安装了 Python 3 ?
$ python --version
Python 3.6.4 # 成功安装
# 假如你看见的仍然是 2.7 ,请确保 PATH 环境变量 /usr/local/bin/ 的优先级高于 /usr/bin/
Pipenv 和 虚拟环境
下一步是安装 Pipenv ,因此你可以安装依赖和管理虚拟环境
(译注:虚拟环境是直译,更贴切的说是通过 Pipenv 来分割你的开发环境,通俗的说,就是相当于你使用了多台电脑来进行不同项目的开发,每一台电脑对应的都是跟这个项目相关的依赖,电脑之间互不干扰)
虚拟环境是保持项目依赖独立的一种方式,Pipenv 是实现这种方式的其中一个工具,同时 Pipenv 也是一个依赖管理工具,也就是说 Pipenv 集成了 pip 和 virtual environment 的功能,通过创建虚拟环境,可以保证项目之间的的依赖互不干扰。比如,虚拟环境可以解决这一困境:一个 Project X 依赖于某个包的 1.x 版本 ,但是项目 Project Y 依赖于同一包的 4.X 版本,安装更高版本的包可能会导致低版本的包被覆盖,同一个包因为不同的版本无法在同一环境下共存的问题通过使用创建虚拟环境的方法分割开发环境就可以解决这个问题,同时也方便管理 Python 根目录下的包
举个生动的例子,通过创建新的虚拟环境,你可以维护一个构建在 Django 1.10 版本上的项目,同时你也可以维护一个构建在 Django 1.8 版本上的项目,你只需要通过命令切换到不同的环境下即可。
更多详细的解释可以看下 Pipenv & Virtual Environments 的官方文档