zoukankan      html  css  js  c++  java
  • 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版本.

  • 相关阅读:
    Ubuntu配置sublime text 3的c编译环境
    ORA-01078错误举例:SID的大写和小写错误
    linux下多进程的文件拷贝与进程相关的一些基础知识
    ASM(四) 利用Method 组件动态注入方法逻辑
    基于Redis的三种分布式爬虫策略
    Go语言并发编程总结
    POJ2406 Power Strings 【KMP】
    nyoj 会场安排问题
    Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.
    Java的String、StringBuffer和StringBuilder的区别
  • 原文地址:https://www.cnblogs.com/randolf/p/10289127.html
Copyright © 2011-2022 走看看