• python的多版本安装以及常见错误(长期更新)


    (此文长期更新)Python安装常见错误汇总

    注:本教程以python3.6为基准

    既然是总结安装过程中遇到的错误,就顺便记录一下我的安装过程好了。

    • 先来列举一下安装python3.6过程中可能需要的依赖包:
      yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel

    • 准备工作:使用wget下载官网提供给我们的源码包,若为安装wget则执行yum install -y wget
      1.移动到我们下载源码包的目录下 cd /usr/local/
      2.下载源码包 wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
      3.解压 tar -zxvf Python-3.6.4.tgz
      4.删除安装包 rm -rf Python-3.6.4.tgz
      5.创建编译的路径 mkdir /usr/local/python3

    • 编译安装过程:确保此时所在目录为/usr/local/Python-3.6.4,即解压后的包目录。ls看一下有什么

    aclocal.m4     config.sub    Include          Mac              Modules  Programs        Python            setup.py 
    build          configure     install-sh       Makefile         Objects  pybuilddir.txt  python-config     Tools 
    config.guess   configure.ac  Lib              Makefile.pre     Parser   pyconfig.h      python-config.py 
    config.log     Doc           libpython3.6m.a  Makefile.pre.in  PC       pyconfig.h.in   python-gdb.py 
    config.status  Grammar       LICENSE          Misc             PCbuild  python          README.rst 
    

    1../configure --prefix=/usr/local/python3 --enable-optimizations
    注:--prefix指定编译目录,即为之前创建的/usr/local/python3, --enable-optimizations指最优化安装
    2.编译make、安装make install,或一次执行make & make install.编译过程十分漫长(可能七八分钟,视具体情况而定),喝杯咖啡,耐心等待_
    3.最后一步,创建软链接.

    [root@localhost Python-3.6.4]# echo $PATH 
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin 
    

    有人可能好奇为啥要创建这个软链接,echo一下环境变量PATH发现/usr/local/python3/bin不存在,我们知道想要一个命令能够不加完整路径名直接执行,那么对应的可执行文件必须在环境变量PATH中。对此有两种解决方式,
    方式a.导入环境变量:export PATH="$PATH:/usr/local/python3/bin"记住,不能忽略PATH串中的$PATH,否则将意味着覆盖原有路径。
    方式b.将相应的可执行程序放在已经存在环境变量中,这里我们推荐/usr/bin(墨守陈规的)。

    解释一下:1./usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变。
    2./usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件。(还记得吗,我们之前编译的路径就在这里)
    好了,扯远了。。。回归正题,直接上创建软链接的步骤:

    1. 删除原本指向python2.x的软链接,rm -rf /usr/bin/python
    2. 创建指向python3.6的软链接,ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
    3. 至此安装结束,验证安装成功python -V(大写的V哦),显示对应的版本号即表示安装成功了~

    安装过程中遇到的错误

    • 如果本机中已经存在旧版本python(python2.x)的情况下,安装python3.x,以下配置文件需要更改:
    1./usr/bin/yum 
    2./usr/libexec/urlgrabber-ext-down
    

    !/usr/bin/python ---> #!/usr/bin/python2

    解释一下:1.yum包管理器是由默认的(系统自带)python2.x编写的,当我们以python3的软链接覆盖原本的python2的软连接时(ln -s /usr/local/python3/bin/python3.7 /usr/bin/python),python的默认版本变为python3,会导致yum无法执行.
    2./usr/libexec/urlgrabber-ext-down是yum下载好安装包之后执行安装的脚本,因此要想软件被正确安装,此文件也需要修改默认的python版本.

  • 相关阅读:
    (转)位置无关码、位置有关码
    【转载】PM为什么会存在?怎么存在?
    战略是什么?3-互联网产品行业以及竞争对手分析
    【转载】2014,要格外留意这7大投资机会——哈继铭 {key:人口红利、房价、社会结构、贸易逆差}
    2014年书单-30本
    产品经理要树立战略意识——战略是什么2(谈国家限制支付宝的战略分析)
    产品经理要树立战略意识——战略是什么1
    【转载】产品经理入门案例分析——锤子手机策略
    javascript设计模式-工厂模式
    javascript设计模式-单例模式
  • 原文地址:https://www.cnblogs.com/randolf/p/10289127.html
Copyright © 2020-2023  润新知