$7.49 .com domain with free InstantPage Website Builder$1.99 Web Hosting   捷飞网络官方淘宝店   Godaddy 优惠码
返回列表 发帖
分享到:




[应用&技术] centos系统下Python2.4升级到Python2.7步骤

本来python是2.4的,好像不支持requests模块.
+ Q5 u6 F6 v. J1 Y0 C2 F# bCentOS上安装的python版本是2.4/2.6,不能满足我运行软件的要求,所以对python进行升级。Python的最新版本已经是3.3,但是Python3的兼容性可能还有一定的问题,所以还是升级到2.7较为保险。我就升级到python2.7,结果yum又不能用了.下面是完整的解决方案.: ], c$ J% v' v- u9 s
7 r+ V& t  _9 |

首先下载源tar包

可利用linux自带下载工具wget下载,如下所示:

下载完成后到下载目录下,解压

进入解压缩后的文件夹

在编译前先在/usr/local建一个文件夹python27(作为python的安装路径,以免覆盖老的版本)

在解压缩后的目录下编译安装

此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字

再建立新版本python的链接

这个时候输入

python

就会显示出python的新版本信息

步骤写起来是比较复杂. 对应的命令如下:

# gcc -v   // 先查看下gcc版本  4.1.2 就不用升级了

# yum install gcc gcc-c++.x86_64 compat-gcc-34-c++.x86_64 openssl-devel.x86_64 zlib*.x86_64


5 Q& o5 `9 q/ }  q5 j1 J

# wget --no-check-certificate https://www.python.org/ftp/python/2.7/Python-2.7.tar.bz2

# tar -xvjf Python-2.7.tar.bz2

# cd Python*

# ./configure --prefix=/usr/local/python2.7

# make && make install

( M+ g9 n- v5 ?# l# U3 U

这时候Python已经升级好了,但是默认的Python版本还是2.4.3

# mv /usr/bin/python /usr/bin/python_backup_old

# ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python

# ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python2.77 a( g7 ~/ P7 ?
//后面安装setuptools要用到

# python -V

Python 2.7

这个时候yum又不能用了

# vim /usr/bin/yum

#!/usr/bin/python

改成

#!/usr/bin/python2.4


- p9 [1 r& J3 c& G& c

这时候yum修复了,下面就是安装easy_install,pip和requests

# wget --no-check-certificate https://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg

# chmod 775 setuptools-0.6c11-py2.7.egg

# sh setuptools-0.6c11-py2.7.egg

# wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-1.0.tar.gz

# tar xvfz pip-1.0.tar.gz

# cd pip-1.0

# python setup.py install

# /usr/local/python2.7/bin/easy_install requests

) V5 W' Q7 q. r4 w! G( Z- c
参考:
& l) O- ~+ j$ J' B/ K5 e9 Whttp://blog.csdn.net/firefoxbug/article/details/8688735+ \. G. @; G+ P. q
http://www.jb51.net/article/51800.htm

【linux】终端直接执行py文件,不需要python命令5 b& L6 _2 `: |0 {; M( K: G
先将终端所在路径切换到python脚本文件的目录下
# k4 F0 V( m! L然后给脚本文件运行权限,一般755就OK,如果完全是自己的私人电脑,也不做服务器什么的,给777的权限问题也不大(具体权限含义参考chmod指令的介绍,就不赘述了):
  z0 g2 ~0 M7 G# Q2 rchmod 755 ./*.py
9 o3 V1 I# Y! K然后执行。
" B2 f, M1 \# W' W( |如果在脚本内容的开头已经给出了类似于如下的注释:
4 p2 Y! T4 N) X: H1 m; L/ [1 p#!/usr/bin/env python
! X9 j9 R* n% n" s那就可以直接在终端里运行:4 \5 H% p, [2 l9 z( T2 r" ]
./*.py9 g1 m# I5 q( ~% O
如果没有这个注释1 ?( k+ z! w) H0 K
就在终端中执行:1 n; V% n. O9 |: Z" z- w
python ./*.py" A! p: u' k8 e2 r9 V
如果是有图形界面的脚本
8 S; c) j) v! y1 j8 }在前面的chmod之后,直接双击(KDE桌面是单击)文件来执行即可追问如果把文件1.py放到tmp文件夹中,如何运行?命令能写具体一点吗?脚本内容的开头有:#!/usr/bin/env python回答那就直接运行(假设你的文件名是A.py):
$ `2 o4 ~, J2 q. Y# }/tmp/A.py
7 }: M; G# N7 \: t" B3 P$ E6 I或先切换目录,再运行:
7 r  B& J+ b' L1 y( U. P( zcd /tmp7 o4 O- t3 I2 r) A7 y& A4 V% P4 {
./A.py
/ x3 V* g" X. q/ b6 T4 F: f; d) J如果该文件需要修改跟用户权限下的一些文件或目录) V1 c  I0 E% q: e3 T) j; o
就将自身提升为跟用户权限:
# z- {( p7 W( xsudo /tmp/A.py
, B" U6 H0 M) r, U. c或直接将自身提升为跟用户再运行:- V6 h. i! J. S! J. l7 D
su root
* Y$ D" c0 S/ ^/tmp/A.py
$ ]. N: K6 F: M. A另:Ubuntu等发行版默认不支持su root的操作,只能用sudo追问把A.py文件放入tmp文件夹中 , `" h/ D4 _* {0 i* m" q% c
执行sudo /tmp/A.py 出现如下提示sudo:/tmp/A.py:command not found/ o' E6 z2 @& `& x  @, k, \$ o  s3 y
执行/tmp/A.py    出现如下提示:-bash:/tmp/A.py:permission denied4 w8 ?4 t/ [/ G" J3 Q) F
使用cd /tmp 然后执行出现提示和上面一样,不知道是怎么回事,是我哪里弄错了?回答这样的话,我知道的一般有两种情况:, _* D" t( \! K  V$ b+ z
1.. ^. L3 H' K! @. H0 e( b
文件开头没有执行注释:#!/usr/bin/env python
/ {/ r4 j' M& a  r6 _但你之前说有这一行
% |$ L/ z& Y! b2.0 V+ C/ |4 ^. p
就是没用chmod
5 n" Q2 v: [! V; K0 c' y! `: D上面说了,最开始要给脚本设置权限" J9 O2 u1 o# Y0 x- P
如果电脑是你一个人用,那就chmod 777 /tmp/A.py就好了
' J% s6 q( s8 X/ j% b' e# }+ P: w如果还有别人用,就给个chmod 755 /tmp/A.py好了1 @$ d8 d( A2 h1 e4 J0 S
这个chmod和后面提到的哪个sudo两个都是关于权限的命令,但是是不同的,互相也没什么关系
& f7 U# r! T& |+ R* Z# I6 }. `( b简单点说:chmod的权限是决定谁有权去碰这个脚本(读、写、执行),而sudo的权限决定的是这个脚本有权去碰谁。! O3 m, z5 Z+ x+ O. B5 d3 F( M

+ U' E! A. a- D) {. v5 ~* I如果以上两个都试过了,还是不行,我就无能为力了0 Z: N* W9 ~( v# Y* J9 C1 |; i
确认一下是否正确安装了python解释器吧~~4 C- X' c' y7 [0 h
然后尝试着直接调用python去执行吧:
5 P" S( e0 M- i: ]6 rpython /tmp/A.py
/ c7 T4 R: O2 B类似这样的命令。当然必要的时候chmod和sudo也是用的。: [, F/ f- Y, C* B4 ^1 _3 _+ T

8 B/ @% z) m* ^4 X$ [
; g$ e+ p& u7 m( v
8 U$ S( G  X5 P参考:: N) w& V, l  ~9 h( k3 z
http://www.cnblogs.com/lizunicon/p/3509393.html




TOP

返回列表
Namecheap
Namecheap.com - Cheap domain name registration, renewal and transfers - Free SSL Certificates - Web Hosting
互联网安全