xxl520 发表于 2018-8-15 10:04:15

Linux Python详细安装、升级指南

  摘要: Linux Python详细安装、升级指南,列出了几乎所有可能遇到的错误
  Linux机器一般自带Python都是较低版本,下面我们讨论一下升级Python【示例中使用的是阿里云的CentOS】
首先下载源tar包
  可利用linux自带下载工具wget下载【如果没有wget可以直接下载该文件后上传到服务器或安装wget(见附录)支持】,如下所示:
wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz下载完成后到下载目录下,解压
tar -zxvf Python-2.7.11.tgz进入解压缩后的文件夹
cd Python-2.7.11在编译前先在/usr/local建一个文件夹python27(作为Python的安装路径,以免覆盖老的版本)
mkdir /usr/local/python27在解压缩后的目录下编译安装
./configure --prefix=/usr/local/python27  
make
  
make install
此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字
mv /usr/bin/python /usr/bin/python_old再建立新版本python的链接
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python这个时候输入,验证是否配置成功
python -V成功就会显示出python的新版本信息
Python 2.7.11安装 pip软件包

[*]  下载 pip 包
wget https://pypi.python.org/packages/source/p/pip/pip-8.1.1.tar.gz
[*]  解压下载的包
tar -zxvf Python-2.7.11.tgz
[*]  安装 pip
python setup.py install  如果出下面的错误:
    Traceback (most recent call last):      File "setup.py", line 5, in <module>      from setuptools import setup, find_packages  
    ImportError: No module named setuptools
  原因是:安装pip时提示setup.py中使用setuptools中的模块,但是电脑中并没有安装setuptools软件包,所以我们需要先下载并安装 setuptools!

[*]  安装setuptools软件包
  可以先打开setuptools的python官网看看setuptools软件包如何安装:
wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py  
python ez_setup.py --insecure
  也可以下载setuptools软件包后安装:
  (1)下载setuptools包
wget http://pypi.python.org/packages/source/s/setuptools/setuptools-2.0.tar.gz  (2)解压setuptools包
tar zxvf setuptools-2.0.tar.gzcd setuptools-2.0  (3)编译setuptools
python setup.py build  (4)开始执行setuptools安装
python setup.py install如果出现urllib2.URLError:<urlopen error unknown url type: https>
  python 出现'module' object has no attribute 'HTTPSHandler'错误,是因为你编译python的时候没有把ssl模块编译进去。

[*]  安装SSL模块
yum install mod_ssl  如果此时报错yum找不到,就是因为yum依赖的是2.6及以下的python,所以需要做以下处理:
vim /usr/bin/yum  把下面的部分
#!/usr/bin/python  修改为:
#!/usr/bin/python2.6  就可以运行上面安装SSL的命令了,之后重新编译安装python,并把ssl模块包含进去就可以了
  因为编译 python 的时候没有把 ssl模块 编译进去,只需修改 Modules/Setup文件 重新编译安装即可。
  进入python安装包,找到Setup文件,用 vi 打开

[*]  cd Python-2.7.11/Modules

[*]  vi Setup.dist
  找到

[*]  # Socket module helper for SSL support; you must comment out the other

[*]  # socket line above, and possibly edit the SSL variable:

[*]  #SSL=/usr/local/ssl#_ssl _ssl.c \

[*]  #       -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \

[*]  #       -L$(SSL)/lib -lssl -lcrypto
  把前面的 # 号去掉,修改为

[*]  # Socket module helper for SSL support; you must comment out the other

[*]  # socket line above, and possibly edit the SSL variable:

[*]  SSL=/usr/local/ssl

[*]  _ssl _ssl.c \

[*]  -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \       -L$(SSL)/lib -lssl -lcrypto
  保存退出,
  【需要重新执行之前安装python的步骤】。 然后再安装pip的步骤,就可以成功安装pip了。
附录:
  wget安装:wget的下载与安装: 下载地址:ftp://ftp.cs.cuhk.edu.hk/pub/gnu/gnu/wget 安装:先把wget下载到的tar文件解压,然后cd到wget目录下
./configuremakemake installmake clean  简单使用:wget url(要下载的地址)
  本文出自https://my.oschina.net/coderknock/blog/702373
页: [1]
查看完整版本: Linux Python详细安装、升级指南