最近学习Spark,我主要使用pyspark api进行编程
之前使用Python都是现学现用,用完就忘了也没有理解和记忆,因此这里把python相关的知识也弥补和记录下来吧
网络上的python相关使用资料介绍的都比较分散,因此我把从python的安装、管理、打包发布全部过程记录下来,方便回顾吧
我是用的是centos6.3,因此我的所有测试都是基于该环境的,其他环境类似
1、python2.7安装
系统自带的是python2.6,我要使用python2.7因此需要自己升级
wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz #下载源码
cd Python-2.7.10./configure --prefix=/usr/local/python2.7 #指定安装目录make #编译sudo make install #安装,因为要安装到/usr/local/python2.7目录下,因此需要root权限sudo vim /etc/profile #配置环境变量PATH=$PATH:$HOME/bin:/usr/local/python2.7/bin/ # 修改 PATH 变量,将 Python 可执行目录加入环境变量sudo ln -sf /usr/local/python2.7/bin/python2.7 /usr/bin/python2.7#这样可以在sudo下执行python2.7# 也可以软连接到/usr/bin/python,这样默认启动python2.7 (运行sudo ln -sf /usr/local/python2.7/bin/python2.7 /usr/bin/python2.7)
2、setuptools安装
setuptools是python包管理工具,它包含easy_install 这个工具,使用 setuptools 可以自动 下载、构建、安装和管理 python 模块
wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python #一条命令即可
ln -sf /usr/local/python2.7/bin/easy_install-2.7 /usr/bin/easy_install-2.7(或/usr/bin/easy_install) #这样可在sudo下执行easy_install-2.7
3、pip安装
pip 是目前 python 包管理的事实标准,2008年发布。它被用作 easy_install 的替代品,但是它仍有大量的功能建立在 setuptools 组件之上
sudo easy_install-2.7 pip #使用eash_install安装
也可以源码安装:如下
下载地址:https://pypi.python.org/pypi/pip
tar -zxvf pip-8.1.2.tar.gz
cd pip-8.1.2
python setup.py install
sudo ln -sf /usr/local/python2.7/bin/pip2.7 /usr/bin/pip #可以通过which pip2.7查看pip2.7所在目录,如果不做软连接sudo无法找到pip2.7
4、numpy,scipy,matpotlib安装
pip install numpy #使用pip安装
pip install scipy
5、pyinstaller安装、打包发布
python打包的方法也有很多种,我也初次使用,就先使用最简单方便的吧,那就是pyinstaller
pip install pyinstaller #可见pip确实很方便
pyinstaller test.py #打包test.py代码,生成两个目录build和dist,dist下面的文件就是可以发布的可执行文件和一堆动态库,看起来有些费劲
pyinstaller -F test.py #单文件发布,只有一个可执行文件,比较简洁
更多使用方法待以后完善吧!
问题总结:
这里使用pyinstaller可能遇到一个问题就是:IOError: Python library not found: libpython2.7mu.so.1.0 ...
解决该问题需要重新安装python即可,添加--enable-shared参数
$./configure --enable-shared --prefix=/usr/local
$make
$make install(可以在执行下面命令后再编译)
安装完后运行python 会提示找不到libpython2.7.so.1.0错误,可以如下解决
cp libpython2.7.so.1.0 /usr/lib/ #libpython2.7.so.1.0位于python编译目录下
ln -s /usr/lib/libpython2.5.so.1.0 /usr/lib64/ #对64位系统,做软连接
以上就是本文全部内容,参考网络资源和官方文档,内容全部来自自己操作过程记录,暂且算作原创吧 ^_^