Kevin's Code
Talk is cheap, show me the code!

Writing Python on Mac (OS X)

Apr 3, 2016
Mac自带了Python,El Capitan中Python的版本是2.7.10。如果想安装最新版本的话,可以去官网下载pkg安装包,一键安装,轻松又愉快。目前主流是使用Python2.7.X版本,如果想要3.X版本的话,不要担心,继续下载Python3.X的pkg安装包,一键安装,愉快又轻松。2.X和3.X不会冲突,在使用命令行时,python指向的是2.X,python3指向的是3.X。相应的,pip是向2.X安装扩展包,pip3是向3.X中安装扩展包。

上面提到的pip,是Python扩展包管理工具。还有一个Python扩展包管理器叫easy_install。二者相比,pip比easy_install打字少,所以pip好。OS X好像是自带easy_install的,可以在命令行中使用下面指令查看是否已经安装了easy_install:
easy_install --version

如果系统中没有easy_install,用下面的命令进行安装:
sudo curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python - 

因为已经安装好了easy_install,再安装pip就很方便了,直接执行下面的命令:
sudo easy_install pip

下面继续安装Virtualenv。使用Virtualenv可以创建一个独立的Python运行环境,和系统的Python环境隔离开来。因为是独立的运行环境,安装扩展包的时候,不会对系统有任何影响,而且可以多版本调试,导出扩展包列表,blabla好多很多吧,不说了。运行下面的命令安装Virtualenv:
pip install virtualenv

下面切换到工作目录,创建一个Python虚拟环境:
cd path_to_your_working_directory
virtualenv venv

这会在你当前的工作目录中创建一个venv目录,里面放的就是Python的虚拟环境了。 启动虚拟环境:
. venv/bin/active

会发现命令行前面出现了 (venv) 字样,Yeah,成功了。这时候使用pip安装扩展包,都会安装到虚拟环境中,也就是venv中,不会对系统的Python有任何影响。如果要退出虚拟环境,直接执行下面命令:
deactive

命令行前面的 (venv) 消失了,Yeah,成功了。

“我都是在Sublime Text中写Python,每次都要在命令行中运行,很麻烦诶!有没有什么好办法可以在Sublime Text中运行Python虚拟环境解析器?” 既然你诚心诚意地问了,那我就勉为其难回答吧。

打开Sublime Text,在菜单中选择Tools > Build System > New Build System...,然后在新建的窗口中,输入一下内容:
{
    "shell_cmd": "~/develop/pyproj/venv/bin/python -u \"$file\"",
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",

    "variants":
    [
        {
            "name": "Syntax Check",
            "shell_cmd": "path_to_your_working_directory/venv/bin/python -m py_compile \"${file}\"",
        }
    ]
}

注意path_to_your_working_directory需要改为你的工作目录,然后保存到默认目录(User),文件名要保持*.sublime-build后缀,比如PythonEnv.sublime-build。然后在Build System中选择PythonEnv。这样就可以通过Command+B在Sublime Text中直接跑Python虚拟环境了。