Mac下搭建Python开发环境

记录下之前的安装流程

安装Python

  • 先安装homebrew
  • 用homebrew安装python,推荐python3。
    如果已经用自带的/usr/bin/python安装了pip的话可以用pip uninstall pip来删除自身,避免和brew的pip相冲突。

    $ brew install python # Python 2.x

    $ brew install python3

  • 安装后会在/usr/local/bin中安装python或python3,与系统的/usr/bin/python环境独立。
  • /usr/local/bin/中也会有对应的pip版本安装(pip2和pip3),使用对应的pip即可。
    如果是用brew install python安装了Python 2.x,那么which -a python会出现两个python路径。

    $ which -a python

    /usr/local/bin/python

    /usr/bin/python

    这里我不推荐用替换、链接等方式来指定默认的python版本,因为所有的Python项目都是在virtualenv内部中构建,外部版本注意区分即可。

使用virtualenvwrapper隔离项目环境

每个项目应当使用自身的包依赖环境,如果多个项目共用一个pip下的包环境会造成很多混乱,同样给部署带来困难。

因此这里就要用到virtualenv来创建虚拟的python环境,它的一个更好封装是virtualenvwrapper。

  • 安装virtualenvwrapper

    $ pip3 install virtualenvwrapper

  • 设置virtualenvwrapper环境变量,添加下面内容到~/.bash_profile

1
2
3
4
5
6
7
8
9
10
11
12
13
# set where virutal environments will live
export WORKON_HOME=$HOME/.virtualenvs
# ensure all new environments are isolated from the site-packages directory
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
# use the same directory for virtualenvs as virtualenvwrapper
export PIP_VIRTUALENV_BASE=$WORKON_HOME
# makes pip detect an active virtualenv and install to it
export PIP_RESPECT_VIRTUALENV=true
if [[ -r /usr/local/bin/virtualenvwrapper.sh ]]; then
source /usr/local/bin/virtualenvwrapper.sh
else
echo "WARNING: Can't find virtualenvwrapper.sh"
fi
  • 重新打开shell窗口,或者source ~/.bash_profile,输入mkvirtualenv —help没有报错代表安装成功
  • 利用mkvirtualenv创建虚拟的Python环境

    $ mkvirtualenv test_env

    默认采用$(which python)的版本创建,通常是Python 2.x, 或者用-p参数指定基于某个版本python来创建对应版本的虚拟环境,非常灵活

    $ mkvirtualenv -p /usr/local/bin/python3 py3_env

  • 进入虚拟环境并安装项目依赖库

    $ workon py3_env

    (py3_env) $ python –version

    Python 3.5.1

    (py3_env) $ pip –version

    pip 8.0.3 from /Users/Bing/.virtualenvs/dataflow_env/lib/python3.5/site-packages (python 3.5)

    (py3_env) $ pip install -r requirements.txt

  • 退出虚拟环境

    (py3_env) $ deactivate

    $