linux python upgrade 2.7.14

Download the latest version of python 2.7.13 and compile and install

wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz

tar zxf Python-2.7.14.tgz

tar xf Python-2.7.14.tar

cd Python-2.7.14

./configure --prefix=/usr/local/python-2.7.14

make && make install

View the original command address

ll -tr /usr/bin/python*
/usr/bin/python2.6-config
/usr/bin/python2.6
/usr/bin/python
/usr/bin/python2 -> python
/usr/bin/python-config -> python2.6-config

Backup history

mv /usr/bin/python /usr/bin/python2.6.6
mv /usr/bin/python-config /usr/bin/python2.6.6-config

configure new

ln -s /usr/local/python-2.7.14/bin/python2.7  /usr/bin/python
ln -s /usr/local/python-2.7.14/bin/python2.7  /usr/bin/python2.7
ln -s /usr/local/python-2.7.14/bin/python-config /usr/bin/python-config

Modify yum, (beginning) #!/usr/bin/python's python is changed to python2.6

vim /usr/bin/yum
#!/usr/bin/python
import sys
try:
    import yum

Replenish:

但是,这种改法,万一哪天你 yum update 了一下,yum 被升级了后,又变回老样子了。
所以,经过我的不懈琢磨和努力,发现了一个办法(网上的解决方案都是抄来抄去,没有一点卵用)。
记住旧版本 Python 2.6.6 的重要路径如下所示,在运行 yum 命令的时候,会提示你哪个 module 不存在,
不存在的我们就去旧版本的路径下找,一定能找到的。
找到后,复制到新版本 Python 的路径 /usr/local/lib/python2.7/site-packages/ 下即可。

/usr/lib/python2.6/site-packages/
/usr/lib64/python2.6/site-packages/
我的复制过程是这样的:
yes|cp -r /usr/lib/python2.6/site-packages/yum /usr/local/lib/python2.7/site-packages/
yes|cp -r /usr/lib/python2.6/site-packages/rpmUtils /usr/local/lib/python2.7/site-packages/
yes|cp -r /usr/lib/python2.6/site-packages/iniparse /usr/local/lib/python2.7/site-packages/
yes|cp -r /usr/lib/python2.6/site-packages/urlgrabber /usr/local/lib/python2.7/site-packages/
yes|cp -r /usr/lib64/python2.6/site-packages/rpm /usr/local/lib/python2.7/site-packages/
yes|cp -r /usr/lib64/python2.6/site-packages/curl /usr/local/lib/python2.7/site-packages/
yes|cp -p /usr/lib64/python2.6/site-packages/pycurl.so /usr/local/lib/python2.7/site-packages/
yes|cp -p /usr/lib64/python2.6/site-packages/_sqlitecache.so /usr/local/lib/python2.7/site-packages/
yes|cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.py /usr/local/lib/python2.7/site-packages/
yes|cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.pyc /usr/local/lib/python2.7/site-packages/
yes|cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.pyo /usr/local/lib/python2.7/site-packages/

Check out new Python versions

python --version

Python 2.7.14

Install setuptools for newer versions of Python

wget https://bootstrap.pypa.io/ez_setup.py -O - | python
 
curl -O -L https://pypi.python.org/packages/a9/23/720c7558ba6ad3e0f5ad01e0d6ea2288b486da32f053c73e259f7c392042/setuptools-36.0.1.zip#md5=430eb106788183eefe9f444a300007f0
unzip setuptools-36.0.1.zip#md5\=430eb106788183eefe9f444a300007f0
cd setuptools-36.0.1
python setup.py install
ln -sv /usr/local/python-2.7.13/bin/easy_install  /usr/bin/easy_install
 
/usr/local/python-2.7.13/bin/easy_install pip
ln -sv /usr/local/python-2.7.13/bin/pip /usr/bin/pip
pip list

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325144855&siteId=291194637
Recommended