您的位置:首页 > 编程语言 > Python开发

定制带第三方库的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执行我们的代码调用,没有就先解压,再调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: