Python培训
400-996-5531
-- 写在机器学习实战之前
为了更好的学习机器学习,本篇将介绍 mac 下如何搭建管理 Python 开发环境。使用 Anaconda 进行 Python2/3 隔离和科学计算包管理;使用 Jupyter Notebook 进行 Python 开发。
重置 macOS Python
macOS Sierra 自带的版本是 Python2,通常位于 /usr/bin/python, 即便是 root 权限,也无法删除。当然,由于诸多系统软件依赖 Python2,也不建议删除。
Python 允许多版本共存,并且目前 Python 有众多包管理利器,诸如:celler、pip,aconda 等。
为了更好地管理 Python 环境,我们先把其他各个渠道的 Python 版本,统统删掉(通常位于 /usr/local/bin)。
以 Python2.7 为例,具体步骤:
1. 删除 Python 2.7 Framework
确定删除 /usr/local/bin/python。进入 /usr/local/bin,确定真身。
原来,位于 ../Cellar/python, 删除之。
2. 清除软链接
3. 清除 相关 profile files 中的 PATH 等环境变量
安装 Anaconda
Anaconda 是什么?
Anaconda is the leading open data science platform powered by Python. The open source version of Anaconda is a high performance distribution of Python and R and includes over 100 of the most popular Python, R and Scala packages for data science.
Additionally, you'll have access to over 720 packages that can easily be installed with conda, our renowned package, dependency and environment manager, that is included in Anaconda. See the packages included with Anaconda and the Anaconda changelog。
Anaconda 其实用于科学计算的 Python 发行版 (不仅限于 Python),集成了100多个科学计算包及其依赖。
Conda
Anaconda 集成了 Conda, Conda 解决了Python的不同版本隔离(环境管理)和包管理。
环境管理
可以看出安装的 env 都放在 ~/anaconda/envs 路径下。
包管理
值得注意的是,conda 将 python、conda 本身看成 package,及其方便管理。
添加镜像
可以在 anaconda 查看,aconda 可视化配置
Spark 环境搭建
Spark 安装非常简单,直接解压,just run it。 按照习惯,在 /usr/local/bin 创建一个软链。
sudo ln -s /Applications/spark-2.1.0/bin/pyspark pyspark
需要注意的两点:
1. Spark runs on Java 7+, Python 2.6+/3.4+。但是 Python 3.6.0 有问题(详见:Unable to run pyspark &PySpark does not work with Python 3.6.0 )。
2. 配置 /ect/hosts 将本机挂到 localhost 上面去。
IPython and Jupyter Notebooks
PYSPARK_PYTHON: 指定 python 的版本
PYSPARK_DRIVER_PYTHON:指定 python 的 driver
PYSPARK_DRIVER_PYTHON_OPTS: 指定 python 的 driver note
命令:
PYSPARK_PYTHON=python PYSPARK_DRIVER_PYTHON=ipython PYSPARK_DRIVER_PYTHON_OPTS="notebook" pyspark
在jupyter notebook 中完美执行。
测试代码:计算词频
%matplotlib inline
%numpy inline
import numpy as np
import matplotlib.pyplot as plt
textFile = sc.textFile("test.note")
textFile.count()
wordCounts = textFile.flatMap(lambda line: line.split()).map(lambda word: (word, 1)).reduceByKey(lambda a, b: a+b)
wordCountDict = dict(wordCounts.take(10))
bar_width = 0.35
opacity = 0.4
n_groups = len(wordCountDict.keys())
fig, ax = plt.subplots()
index = np.arange(n_groups)
print index + bar_width
plt.bar(index, tuple(wordCountDict.values()), bar_width, alpha=opacity, color='b')
plt.xlabel('Word')
plt.ylabel('Count')
plt.title('WordCount')
plt.xticks(index + bar_width, tuple(wordCountDict.keys()) )
plt.ylim(0, 50)
plt.legend()
plt.tight_layout()
plt.show()
参考:
1. How to uninstall Python 2.7 on a Mac OS X 10.6.4?
2. Using Jupyter on Apache Spark: Step-by-Step with a Terabyte of Reddit Data
3. Running Spark Applications Using IPython and Jupyter Notebooks
(注:本文是作者一篇旧文,#/land-ml/python-env-best-prictice/)
本文内容转载自网络,本着分享与传播的原则,版权归原作者所有,如有侵权请联系我们进行删除!
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved