定制带第三方库的python,解决spark/hadoop环境中sklearn的调用问题

来源:互联网 发布:上知天文下肢瘫痪 编辑:程序博客网 时间:2024/05/22 00:30

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执行我们的代码调用,没有就先解压,再调用。

0 0
原创粉丝点击