您的位置:首页 > 运维架构 > Linux

CentOS下升级python版本

2014-10-09 09:25 375 查看

源码安装python

安装python源码所依赖的工具及库

yum install gcc -y
yum install gcc-c++ bzip2 bzip2-devel bzip2-libs -y
yum install zlib-devel openssl openssl-devel -y
yum install -y make xz

下载安装python源码

从https://www.python.org/ftp/python下载所有需的源码包,此处以Python-2.7.10.tar.xz为例.

wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz yum -y install make xz
xz -d Python-2.7.10.tar.xz
tar xvf Python-2.7.10.tar
cd Python-2.7.10
./configure --enable-shared
make
make install


通过下面命令可以查看安装包的路径

$ python -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())"
/usr/lib/python2.7/site-packages
$ python -c "import os; print os.__file__"
/usr/lib64/python2.7/os.pyc
$ python -c "import sys; print sys.executable"
/usr/bin/python

其他配置

echo "/usr/local/lib" >> /etc/ld.so.conf  # 将/usr/local/lib添加到/etc/ld.so.conf文件末尾
ldconfig

以上配置解决python运行时找不到动态库的问题。

工具yum使用的原版的python,在这里需要处理。

vi /usr/bin/yum

将第一行的#!/usr/bin/python修改为系统原有的python版本地址#!/usr/bin/python2.6

工具包安装及使用

打包工具setuptools

功能:Easily download, build, install, upgrade, and uninstall Python packages

具体安装方法请自行参考:https://pypi.python.org/pypi/setuptools#downloads

官网倡导的安装方法:
wget https://bootstrap.pypa.io/ez_setup.py -O - | python
此包给用户使用的easy_install工具,安装需要的包简单易用,开发者发布包的所需指导。

The
EasyInstall user’s guide and reference manual
The
setuptools Developer’s Guide
The
pkg_resources API reference
The
Internal Structure of Python Eggs

包安装工具pip

功能:The PyPA recommended tool for installing Python packages

wget https://bootstrap.pypa.io/get-pip.py -O - | python

pip主页地址:https://pypi.python.org/pypi/pip#downloads

wget  https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#md5=3823d2343d9f3aaab21cf9c917710196tar
zxvf pip-7.1.2.tar.gz
cd pip-7.1.2.tar.gz
python setup.py install


安装后的工具path:PythonXX/Scripts,在window下有必要将此路径加入环境变量path中

使用pip:

pip --help 查看pip的帮助文档

pip list 查看已安装的packages

pip install xlrd 安装xlrd,用于处理Excel的packages

其他应用请参照pip帮助

Python自动文档工具pydoc

首先认识一条比较重要的命令

python -m mod

作为脚本运行mod库,if __name__ == '__main__'是作为脚本运行的部分.

python -m SimpleHTTPServer 6666 #简单一个命令搭建目录服务器

查看math库手册

python -m pydoc math

查看函数手册

python -m pydoc math.asin

开启本地手册服务器,可以再网页上查看所有的库函数手册,感觉十分强大

python -m pydoc -p port

python2脚本转化为python3脚本的工具2to3

python是中十分强大的语言,但它的高速发展,也给广大开发这带来许多困惑,python3并不兼容python2

Python3x/Tools/Scripts/2to3.py

#test.py
def greet(name):
print "Hello, {0}!".format(name)
print "What's your name?"
name = raw_input()
greet(name)


C:/Python34/Tools/Scripts/2to3.py -w test.py

#test.py
def greet(name):
print("Hello, {0}!".format(name))
print("What's your name?")
name = input()
greet(name)


这里可以看到2to3后的变化

pirnt函数函数调用的方式使用,raw_input替换成了input

详细转换请参照python3的手册以及
http://woodpecker.org.cn/diveintopython3/porting-code-to-python-3-with-2to3.html
参考:
http://www.aiplaypc.com/31.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: