定制带第三方库的python,解决spark/hadoop环境中sklearn的调用问题
2015-09-29 20:53
676 查看
Conda, Miniconda (Python)这是一个python定制的好工具。忙活了一整天,终于发现了它,这个工具可以让我们定制python和对应的第三方的库,方便我们在不同机器上执行这些第三方的库。 http://scikit-learn.org/stable/install.html conda/conda https://github.com/conda/conda Miniconda http://conda.pydata.org/miniconda.html
Python 2.7 64-bit (bash installer)
Python3.4 64-bit (bash installer)
去官网下载它们的安装文件,然后利用命令安装(linux下,mac是图形界面),安装后有一个目录,里边有对应的文件夹,去bin下边,
列出你目前在那一個 conda 環境
>>> conda info
Note: 不要設定 PYTHONPATH, PYTHONHOME
>>> conda info -a # 會顯示這些環境變數的值
列出目前可用的 conda 環境
>>> conda info --env
建立一個乾淨的環境 (e.g. myenv)
>>> conda create -n myenv python
指定 Python 版本
>>> conda create -n myenv python=3.4
切換 conda 環境 (e.g. myenv)
切換環境
(手動) 設定 PATH 變數
$ export PATH=~/miniconda3/envs/myenv/bin/:$PATH
OR
$ source activate myenv
>>> source deactivate
安裝套件
在 myenv 環境下安裝 scipy
>>> conda install -n myenv scipy
OR
>>> source active myenv
>>> conda install scipy
在 myenv 環境安裝 pip
>>> conda install -n myenv pip
移除套件
>>> conda remove -n myenv scipy
OR
>>> source active myenv
>>> conda remove scipy
升級 conda
>>> conda update conda
Conda 環境 (一個特別的目錄)
conda 預設被裝在家目錄的 ~/miniconda (~/miniconda3)
ROOT_DIR
conda 被安裝的目錄
/pkg (PKGS_DIR)
/envs
conda 環境
/bin
/include
/lib
/share
Directory Structure
Configuration
$ tree miniconda3 -L 1
miniconda3
├── bin
├── conda-meta
├── envs
├── include
├── lib
├── LICENSE.txt
├── pkgs
├── share
└── ssl
我主要用它来构建分布式环境下的数据挖掘和机器学习的执行环境。由于一些原因,在服务器机组中没有安装第三方的机器学习的库,而这些库的性能又比mllib自带的要好,对我们而言它非常重要。这个时候,可以利用它打包python(带有第三方库)传到对应的机器上供调用,然后,利用这个python执行我们的代码。由于是分布式的环境,我们解压这个压缩包的时候一定要注意技巧。我的做法是,在driver上利用pipe执行一个sh脚本,脚本中,先判断是否有解压的目录,如果有就利用解压好的python执行我们的代码调用,没有就先解压,再调用。
Python 2.7 64-bit (bash installer)
Python3.4 64-bit (bash installer)
去官网下载它们的安装文件,然后利用命令安装(linux下,mac是图形界面),安装后有一个目录,里边有对应的文件夹,去bin下边,
列出你目前在那一個 conda 環境
>>> conda info
Note: 不要設定 PYTHONPATH, PYTHONHOME
>>> conda info -a # 會顯示這些環境變數的值
列出目前可用的 conda 環境
>>> conda info --env
建立一個乾淨的環境 (e.g. myenv)
>>> conda create -n myenv python
指定 Python 版本
>>> conda create -n myenv python=3.4
切換 conda 環境 (e.g. myenv)
切換環境
(手動) 設定 PATH 變數
$ export PATH=~/miniconda3/envs/myenv/bin/:$PATH
OR
$ source activate myenv
>>> source deactivate
安裝套件
在 myenv 環境下安裝 scipy
>>> conda install -n myenv scipy
OR
>>> source active myenv
>>> conda install scipy
在 myenv 環境安裝 pip
>>> conda install -n myenv pip
移除套件
>>> conda remove -n myenv scipy
OR
>>> source active myenv
>>> conda remove scipy
升級 conda
>>> conda update conda
Conda 環境 (一個特別的目錄)
conda 預設被裝在家目錄的 ~/miniconda (~/miniconda3)
ROOT_DIR
conda 被安裝的目錄
/pkg (PKGS_DIR)
/envs
conda 環境
/bin
/include
/lib
/share
Directory Structure
Configuration
$ tree miniconda3 -L 1
miniconda3
├── bin
├── conda-meta
├── envs
├── include
├── lib
├── LICENSE.txt
├── pkgs
├── share
└── ssl
我主要用它来构建分布式环境下的数据挖掘和机器学习的执行环境。由于一些原因,在服务器机组中没有安装第三方的机器学习的库,而这些库的性能又比mllib自带的要好,对我们而言它非常重要。这个时候,可以利用它打包python(带有第三方库)传到对应的机器上供调用,然后,利用这个python执行我们的代码。由于是分布式的环境,我们解压这个压缩包的时候一定要注意技巧。我的做法是,在driver上利用pipe执行一个sh脚本,脚本中,先判断是否有解压的目录,如果有就利用解压好的python执行我们的代码调用,没有就先解压,再调用。
相关文章推荐
- Python计算出给定的时间段的具体日期列表-大全
- 《机器学习实战》笔记之十三——利用PCA来简化数据
- Python使用shape计算矩阵的行和列
- Python面向对象(二)
- Python计算出给定的时间段的具体日期列表-大全
- python coroutine的学习跟总结[转]
- python--tile函数
- python 给文件批量加‘“’ ”,"
- Python面向对象之继承
- Python面向对象(一)
- python string 使用正则表达式 split()
- Python DeprecationWarning 类型错误
- 在Python中使用protobuf2.6.1 string format utf-8 and unicode error
- 用python + hadoop streaming 编写分布式程序的本地调试方法
- python 发邮件乱码
- Python 列表的清空
- python 数学前自动补0的方法
- python笔记集合
- python线程join的正解
- Python 迭代删除重复项,集合删除重复项