怎样使用Python

2015年11月20日 | 分类: 【技术】

【版本】

Python版本:2.7.x与3.x。

Python 3是一个不同于Python 2的语言。二者在语义、语法上,既存在细微的区别,又有着截然不同的一面。

截至今天,Python2.6/2.7是安装数量和使用度最高的版本。许多主流的Python库、框架、工具都没有做到100%兼容Python 3。因此,最稳妥的选择就是使用2.7.x)。务必只在你需要或者完全了解情况的前提下,才选择Python 3。现在,主流第三方库和框架对Python 3的支持度已经很高。根据py3readiness网站的统计,360个最受欢迎的Python包中已经有315个支持Python 3。具体的支持情况,可以查看这个网站。一定程度上说,Python 3已经成为新的主流。

查看版本:

python -V

输出:

Python 2.7.5

参考:https://blog.csdn.net/tpc1990519/article/details/77856399

输入以下命令查看目前系统使用的Python以及安装目录,接下来将要对该目录下的Python进行修改:

which python

输出:

/usr/bin/python
ll /usr/bin/python*

输出:

lrwxrwxrwx. 1 root root    7 May 30 05:52 /usr/bin/python -> python2
lrwxrwxrwx. 1 root root    9 May 30 05:52 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 Nov  6  2016 /usr/bin/python2.7

【升级】

下载:https://www.python.org/ftp/python/

当前最新版本为2.7.15和3.7.1。

升级到Python 2.7.15:

wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz && tar vxzf Python-2.7.15.tgz && cd Python-2.7.15 && ./configure && make && make install

保留旧版本Python,因为先前的yum等命令依赖旧版本:

mv /usr/bin/python /usr/bin/python2.7.5

做好新版本连接:

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

更新环境变量:

export PATH="/usr/local/bin:$PATH"

参考:https://stackoverflow.com/questions/19256127/two-versions-of-python-on-linux-how-to-make-2-7-the-default

查看Python的版本:

python -V

输出:

Python 2.7.15

升级到Python 3.8.2:

原版本:Python 2.7.5

wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz --no-check-certificate && tar vxzf Python-3.8.2.tgz && cd Python-3.8.2 && ./configure --enable-optimizations && make && make install

输出:

...
rm /usr/local/lib/python3.8/lib-dynload/_sysconfigdata__linux_x86_64-linux-gnu.py
rm -r /usr/local/lib/python3.8/lib-dynload/__pycache__
...

保留旧版本Python,因为先前的yum等命令依赖旧版本:

mv /usr/bin/python /usr/bin/python2.7.5

做好新版本连接:

ln -sv /usr/local/bin/python3.8 /usr/bin/python

更新环境变量:

export PATH="/usr/local/bin:$PATH"

参考:https://stackoverflow.com/questions/19256127/two-versions-of-python-on-linux-how-to-make-2-7-the-default

查看Python的版本:

python -V

输出:

Python 3.8.2

修改yum的Python配置,以免无法使用

这是因为yum采用python作为命令解释器,这可以从/usr/bin/yum文件中第一行#!/usr/bin/python发现。
而python版本之间兼容性不太好,使得2.X版本与3.0版本之间存在语法不一致问题。
而CentOS系统将python升级到2.6或3.0后,出现语法解释错误。

Python2.x内升级:

方案:编辑 /usr/bin/yum

将 #!/usr/bin/python 改为 #!/usr/bin/python2.7.5

参考:https://blog.csdn.net/chaojiwanwan/article/details/71439066

升级到Python3.x,还需要操作:

1、编辑 /usr/libexec/urlgrabber-ext-down

将 #!/usr/bin/python 改为 #!/usr/bin/python2.7.5

2、编辑 /usr/bin/yum-config-manager

将 #!/usr/bin/python 改为 #!/usr/bin/python2.7.5

否则报错如下:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * elrepo: elrepo.mirror.angkasa.id
 * elrepo-kernel: elrepo.mirror.angkasa.id
  File "/usr/libexec/urlgrabber-ext-down", line 28
    except OSError, e:
                  ^
SyntaxError: invalid syntax


Exiting on user cancel

【介绍】

教程:http://www.runoob.com/python3/python3-tutorial.html
教程:https://www.liaoxuefeng.com/
教程:http://www.iplaypy.com/

参考:https://blog.csdn.net/xiaofei0859/article/details/51969187
参考:https://danieleriksson.net/2017/02/08/how-to-install-latest-python-on-centos/ 多版本
参考:https://www.cnblogs.com/lihanx/p/5947178.html
参考:https://www.jianshu.com/p/dce4a576c261

参考:https://blog.csdn.net/tpc1990519/article/details/77856399
参考:https://blog.csdn.net/redmoon729/article/details/53258803