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




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

本来python是2.4的,好像不支持requests模块.# B+ ~5 }6 `2 D) s! a/ J" T% X: q
CentOS上安装的python版本是2.4/2.6,不能满足我运行软件的要求,所以对python进行升级。Python的最新版本已经是3.3,但是Python3的兼容性可能还有一定的问题,所以还是升级到2.7较为保险。我就升级到python2.7,结果yum又不能用了.下面是完整的解决方案.' V8 w6 `# p( C3 e2 Q

5 O. h8 R! Z( ]. J

首先下载源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 [1 h$ u4 j+ u4 G# \

# 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

' }4 Q! I+ Y( a4 ?5 h/ P

这时候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.78 L2 \: a6 J0 J* U+ I5 N
//后面安装setuptools要用到

# python -V

Python 2.7

这个时候yum又不能用了

# vim /usr/bin/yum

#!/usr/bin/python

改成

#!/usr/bin/python2.4

) i( v- M0 U8 G  n

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


; F& o' ~+ ~0 ]8 D参考:! n8 j& i9 C9 U( N
http://blog.csdn.net/firefoxbug/article/details/8688735
7 @3 _( A/ S1 Ohttp://www.jb51.net/article/51800.htm


【linux】终端直接执行py文件,不需要python命令
, X! W" n4 L; j* v( }. A先将终端所在路径切换到python脚本文件的目录下8 d4 {% T; y8 s/ c2 m5 l
然后给脚本文件运行权限,一般755就OK,如果完全是自己的私人电脑,也不做服务器什么的,给777的权限问题也不大(具体权限含义参考chmod指令的介绍,就不赘述了):
# G& T- s( Z0 x, ~6 q4 jchmod 755 ./*.py
* \* O5 b& O7 d0 U; ]% E* ~然后执行。* i9 b' N; p3 \7 l' s9 I
如果在脚本内容的开头已经给出了类似于如下的注释:" X3 B" A! V  N
#!/usr/bin/env python# ^4 M7 \8 `2 T4 P
那就可以直接在终端里运行:
) `# ?4 f7 b4 Z% S7 y$ E0 G./*.py% g9 g# R" L% {$ I9 _) L
如果没有这个注释  X* u) }9 E& I& B; N' K
就在终端中执行:, M( m1 n0 ~5 i; p
python ./*.py
8 q; S. |7 [* z" k$ ~如果是有图形界面的脚本8 k0 r% i4 C- b# `, V8 T. h
在前面的chmod之后,直接双击(KDE桌面是单击)文件来执行即可追问如果把文件1.py放到tmp文件夹中,如何运行?命令能写具体一点吗?脚本内容的开头有:#!/usr/bin/env python回答那就直接运行(假设你的文件名是A.py):6 ^6 h+ v) F" M# e# T: g
/tmp/A.py' J$ O" |  }1 Y+ y: D* e
或先切换目录,再运行:6 Z9 [8 Y4 H# ~
cd /tmp
; z0 v: c1 O- P" ]# j3 y% }, Z./A.py
$ S5 W* b+ n$ N& ~, U8 M# c1 z如果该文件需要修改跟用户权限下的一些文件或目录
9 f2 q  Q3 x2 ]& U# `9 `! j就将自身提升为跟用户权限:& S) f+ W7 @$ g% G
sudo /tmp/A.py
! X- Y& w* _) r. M9 {* N( H! m或直接将自身提升为跟用户再运行:& o- A4 \- c; V
su root
* A: E5 K6 L9 x; S: C/tmp/A.py
+ d) v( {4 o) u另:Ubuntu等发行版默认不支持su root的操作,只能用sudo追问把A.py文件放入tmp文件夹中 2 N5 Q& Q1 g' L
执行sudo /tmp/A.py 出现如下提示sudo:/tmp/A.py:command not found
0 j/ j" X7 K' c, N执行/tmp/A.py    出现如下提示:-bash:/tmp/A.py:permission denied7 C# @1 g# h; z0 K9 u- b) F
使用cd /tmp 然后执行出现提示和上面一样,不知道是怎么回事,是我哪里弄错了?回答这样的话,我知道的一般有两种情况:
" o2 c3 J& \) C! T& s# [& f4 t1.6 R; R# n! ^, y9 Q' e3 z
文件开头没有执行注释:#!/usr/bin/env python1 j$ S  p3 L8 n7 R5 U" w8 `
但你之前说有这一行
/ i- @1 `8 m- K3 ?" C2.
' ^: I1 Y1 p, k3 D6 A; S% T) s) h就是没用chmod- A$ }# V7 U, e
上面说了,最开始要给脚本设置权限0 \+ N0 L6 d. Z+ V3 _6 Y3 p
如果电脑是你一个人用,那就chmod 777 /tmp/A.py就好了
7 F* }& L: P. p4 a0 A  `如果还有别人用,就给个chmod 755 /tmp/A.py好了
; Z, \5 ]! x7 x* s3 A" ?这个chmod和后面提到的哪个sudo两个都是关于权限的命令,但是是不同的,互相也没什么关系0 a( }1 v# g4 I: @* E
简单点说:chmod的权限是决定谁有权去碰这个脚本(读、写、执行),而sudo的权限决定的是这个脚本有权去碰谁。
/ j0 V9 w( s5 s" T* h8 U& }  R5 h$ J) d5 _$ i
如果以上两个都试过了,还是不行,我就无能为力了
& R) q7 q, }: n! p. O6 h确认一下是否正确安装了python解释器吧~~+ F+ ~$ t0 e0 H/ N% ]8 D* U- M; Z
然后尝试着直接调用python去执行吧:) S$ h" K& i  a5 R
python /tmp/A.py' D' ^5 n6 T: \
类似这样的命令。当然必要的时候chmod和sudo也是用的。
1 r) N& O& Z$ L& q( Y( j- Z
) l! b! ^; i4 l7 p+ E" j* F
/ \1 B+ R! H9 {! i9 c) P: t' h5 O5 ~& p7 V+ i2 E7 j$ N9 X6 L
参考:1 d2 C9 {: e* ]6 k5 o" C
http://www.cnblogs.com/lizunicon/p/3509393.html

TOP

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