python_1_birth


why?

最近不知道怎么了,可能是胃口比较大,也许是孤独寂寞冷,又或是纯粹兴趣,突然觉得我不应该仅限于iOS相关开发,我想学习新的领域,新的技术,开拓视野,VR? H5? JS? Python?....

  • VR需要学unity3D,需要设备 (❌)
  • H5 + JS + CSS ,太深太多太杂 (❌)
  • python, 搜索引擎用的网络爬虫(可以爬到很多资源),web开发。。(✔️)

do!

mac电脑自带Python2.7的环境,是Xcode要使用到的,且不建议升级,但Python已经升级到3,且互不兼容。所以为了学习方便,我们需要在电脑安装多版本Python。

  • 多Python版本管理
  • pip第三方包管理
  • virtualenv:python虚拟环境,为了新建的项目是干净的工程,防干扰。
本教程基于 mac os X 10.11
pip

第三方包管理工具,类似于cocopods.
先去pip官网下载get-pip.py文件,然后在终端执行

python get-pip.py

判断是否安装成功,在终端执行

pip -V

出现版本号即安装成功
类似如图:

pip.png
pyenv

Python版本管理工具, 此处可用多种方法安装,详情见pyenv
此处之介绍Homebrew的安装:
在终端执行:

brew install pyenv

判断是否安装成功,在终端执行:

pyenv -v

出现版本号即安装成功

此处可能需要配置:在 ~/.bash_profile(没有创建)添加如下内容:
export PYENV_ROOT=/usr/local/var/pyenv
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi

配置完成后需重启配置,在终端执行:
source ~/.bash_profile

如图:

pyenv.png

安装Python3.5.2
在终端执行命令:

pyenv install 3.5.2

完成后执行命令查看系统存在的Python版本:

pyenv versions

结果如图:

pyenv versions.png

然后就可以切换系统Python版本了,例:

pyenv global 3.5.2

pyenv global 3.5.2.png

更多使用见pyenv

pyenv-virtualenv

Python虚拟环境,此处采用pyenv的插件pyenv_virtualenv。

为什么要使用虚拟环境?
Python项目在构建的时候,使用pip安装的第三方包是针对所有使用该Python环境的,即任何一个新建的项目都可能关联了之前所有的第三方包,因此可能造成不可预知的错误。所以我们需要在一个干净的环境里构建Python项目,该项目所依赖的环境仅限于该目录下,Python环境,第三方包,而不和其它影响,排除潜在的干扰。

更多详细使用请见pyenv-virtualenv
此处通过brew安装:

brew install pyenv-virtualenv

判断是否安装成功,在终端执行:

virtualenv --version

出现版本号即安装成功

此处可能需要配置:在之前的.bash_profile内追加如下内容:
if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi

配置完成后需重启配置,在终端执行:
source ~/.bash_profile

如图:


pyenv-virtualenv.png

使用:
新建目录,进入到该目录下,执行:

pyenv virtualenv [python版本] [环境名字]

python版本:即指定该目录的python版本,
环境名字:给该环境起个名字,用作标识

激活该环境:

pyenv activate [环境名字]

退出该环境:

pyenv deactivate

销毁该环境:

pyenv uninstall [环境名字]

查看所有虚拟环境:

pyenv virtualenvs

注:虚拟环境的配置所在目录:
/usr/local/var/pyenv/...

env ok

至此,mac上Python环境搭建完工。

recommend

Python教程推荐:廖雪峰
包含3.x和2.7的

wish

Python迈出了一小步,但万事开头难,这一小步的迈出,是以后万里长征的坚实基础。希望更多Python的爱好者一起学习进步。

看~灰机~灰机灰过来了~灰机又灰过去了~

你可能感兴趣的:(python_1_birth)