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




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

本来python是2.4的,好像不支持requests模块.
7 |# N* {3 w4 e7 u/ g  aCentOS上安装的python版本是2.4/2.6,不能满足我运行软件的要求,所以对python进行升级。Python的最新版本已经是3.3,但是Python3的兼容性可能还有一定的问题,所以还是升级到2.7较为保险。我就升级到python2.7,结果yum又不能用了.下面是完整的解决方案.
, w0 _2 |) v$ y/ ]) C; t  Q: j
, r1 J8 q2 T! l( x4 A

首先下载源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

. t" }& l* E8 e* z

# 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

5 w; G$ I& ]5 A/ k! `( V; z' t1 F4 k

这时候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.7) h( [6 `3 C! X) D+ e
//后面安装setuptools要用到

# python -V

Python 2.7

这个时候yum又不能用了

# vim /usr/bin/yum

#!/usr/bin/python

改成

#!/usr/bin/python2.4


; j+ J, F* j3 S/ R+ ^: K4 Y1 V$ y0 @

这时候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


' R- b" F0 b( u1 e; s- X参考:
. h2 ]: m6 L$ o5 B! b3 ihttp://blog.csdn.net/firefoxbug/article/details/8688735
2 `6 ?) l/ Q0 g! m4 x; ]http://www.jb51.net/article/51800.htm




【linux】终端直接执行py文件,不需要python命令% U8 x+ x8 W$ _  j. t
先将终端所在路径切换到python脚本文件的目录下
7 E0 l2 y4 Q" d, L. Q然后给脚本文件运行权限,一般755就OK,如果完全是自己的私人电脑,也不做服务器什么的,给777的权限问题也不大(具体权限含义参考chmod指令的介绍,就不赘述了):
2 h1 e5 \% s0 c4 W" Jchmod 755 ./*.py. P7 q( Y: L& m( y
然后执行。
* s- s6 E7 L) K9 ~) E如果在脚本内容的开头已经给出了类似于如下的注释:
  z* s$ A  ?" |5 T#!/usr/bin/env python
) V3 S8 s2 ^6 d9 m, Z' {$ z那就可以直接在终端里运行:
, d7 u/ _0 [3 V) b! j./*.py
5 q0 u, P; C' L# o如果没有这个注释  w# S8 O3 N. Y. F/ s
就在终端中执行:5 }$ Z: \. {6 f$ @
python ./*.py
7 i8 l$ {% @$ b  I- N4 T如果是有图形界面的脚本
  W+ B8 a4 M* T# U* X: D在前面的chmod之后,直接双击(KDE桌面是单击)文件来执行即可追问如果把文件1.py放到tmp文件夹中,如何运行?命令能写具体一点吗?脚本内容的开头有:#!/usr/bin/env python回答那就直接运行(假设你的文件名是A.py):  Y5 ?+ Q* a( n$ m- U4 q# [
/tmp/A.py
$ j- L: X0 I7 k! w或先切换目录,再运行:
& q+ _/ S9 k; L% I' Fcd /tmp2 a2 {  i1 r* G6 h
./A.py
8 Q) X; q) t# n) K* S如果该文件需要修改跟用户权限下的一些文件或目录
7 C; D3 R# \/ |0 M就将自身提升为跟用户权限:
) M- m4 P* V' K6 {1 wsudo /tmp/A.py
/ ^4 G) r) }" E! U0 h或直接将自身提升为跟用户再运行:  ~9 l8 @5 c0 L- O7 L
su root
9 K" q: C; W3 `  j/tmp/A.py! l# k  V& }3 }9 |$ w" U/ R
另:Ubuntu等发行版默认不支持su root的操作,只能用sudo追问把A.py文件放入tmp文件夹中
5 Y" @/ q. o6 q. y; E% z$ i4 ]* B3 H执行sudo /tmp/A.py 出现如下提示sudo:/tmp/A.py:command not found
9 E0 W1 ~" Y4 C: t6 M+ a执行/tmp/A.py    出现如下提示:-bash:/tmp/A.py:permission denied/ T5 a* R2 i4 I2 e
使用cd /tmp 然后执行出现提示和上面一样,不知道是怎么回事,是我哪里弄错了?回答这样的话,我知道的一般有两种情况:
  ?( N% F( o4 w- q7 ^1.$ A, I6 p+ o, t- ~9 P8 b; e
文件开头没有执行注释:#!/usr/bin/env python) P0 {0 Y, J- w- I9 D0 T- a  ]& I5 b3 E& L
但你之前说有这一行
& M5 l6 I# ~' L" B2.) E5 C! Z+ Y/ O2 W; c
就是没用chmod3 l4 b0 R. k9 O8 V' c
上面说了,最开始要给脚本设置权限
# Y# ?/ O$ |" s; B如果电脑是你一个人用,那就chmod 777 /tmp/A.py就好了
7 I0 y( S3 S. O; j7 _) G$ y如果还有别人用,就给个chmod 755 /tmp/A.py好了. ]: c4 L5 q, Y7 {. m! n0 l, @
这个chmod和后面提到的哪个sudo两个都是关于权限的命令,但是是不同的,互相也没什么关系
0 v* i# {9 p% A. O) X# Z简单点说:chmod的权限是决定谁有权去碰这个脚本(读、写、执行),而sudo的权限决定的是这个脚本有权去碰谁。
6 m- }1 s. N: r0 F. Z
- C6 s% ]: p* K# w如果以上两个都试过了,还是不行,我就无能为力了# l3 I* t8 @) B9 N! M$ u
确认一下是否正确安装了python解释器吧~~
: @- k2 t( I3 b( j. _; [3 r) c然后尝试着直接调用python去执行吧:
. x( N0 J9 Y+ R$ c1 e: x) ipython /tmp/A.py, F+ X% B* m$ G1 s9 |/ O# c" E
类似这样的命令。当然必要的时候chmod和sudo也是用的。
  G2 L/ z% l: W: H. P
4 f0 @; z# t% k- o) ^
  Y4 r6 j, y0 q  h/ u2 L  C5 i3 h# v+ J, f4 s' m
参考:  @. A, Z) h4 |6 a( I* Y% I0 ^
http://www.cnblogs.com/lizunicon/p/3509393.html

TOP

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