icedx

在 Cent7 上用 Python3 简直太魔幻了

  •  
  •   icedx · Aug 6, 2017 · 4999 views
    This topic created in 3230 days ago, the information mentioned may be changed or developed.
    首先是 Python3 的二进制文件名居然是 python3.6

    然后安装依赖的时候用 pip3 install MySQLdb 后, 程序找不到这个包
    经过一番调查发现是安装过程中使用了 python setup.py install 这个命令, 导致本该装在 Python3 的 MySQLdb 被装到了 Python2 的目录下

    太魔幻了
    23 replies    2017-08-13 11:16:20 +08:00
    Trim21
        1
    Trim21  
       Aug 6, 2017 via iPad
    是时候用 docker 了。。
    oxoxoxox
        2
    oxoxoxox  
       Aug 6, 2017 via iPhone
    关键字 pyenv
    或者你手动指定 python 软连接
    oxoxoxox
        3
    oxoxoxox  
       Aug 6, 2017 via iPhone
    另外 这并不是 CentOS7 的锅 其他 linux 发行版也会有这样的问题
    ywgx
        4
    ywgx  
       Aug 6, 2017
    pip3
    playniuniu
        5
    playniuniu  
       Aug 6, 2017 via iPhone
    你这明显是把 python3 和 python 2 混用起来的节奏啊 另外 python 3 上请用 pymysql 做驱动
    6388xE5FRKTNUT9x
        6
    6388xE5FRKTNUT9x  
       Aug 6, 2017 via Android
    手动软连接比较合适,arch 上也是一样的
    ik
        7
    ik  
       Aug 6, 2017 via iPhone
    cp python3.6 python

    或者

    ln -s ....../python3.6 ...../python
    Kilerd
        8
    Kilerd  
       Aug 6, 2017
    是时候来一波 pyenv 了
    或者 docker
    RqPS6rhmP3Nyn3Tm
        9
    RqPS6rhmP3Nyn3Tm  
       Aug 6, 2017
    Archlinux ARM 上任何东西都很魔幻
    jy02201949
        10
    jy02201949  
       Aug 6, 2017 via Android
    2、3 混用就是这样的啦
    rrfeng
        11
    rrfeng  
       Aug 6, 2017
    典型的搞不清楚原理就乱喷

    7 系统默认 python 是 2.7,所以 3 肯定是你装的。装的不同方式会有不同调用形式,直接 rpm install 或者 make install 就会替换系统一些 python 组件啊软链之类的。

    所以一般要装的话加 --prefix,全路径调用,不影响系统。程序用 pyenv
    halfbloodrock
        12
    halfbloodrock  
       Aug 6, 2017
    MySQLdb 不支持 python3....
    hjc4869
        13
    hjc4869  
       Aug 6, 2017 via iPhone
    二进制名称是 python3.6,是自己编译的吧?
    billlee
        14
    billlee  
       Aug 6, 2017
    用 mysqlclient. mysql-python 根本就不支持 python3 吧
    Tyanboot
        15
    Tyanboot  
    PRO
       Aug 6, 2017
    mysql-python 就不支持 py3. 你能装到 py3 就不对了.

    另外 centos7 上的 py3 也只是 3.4 而已, 3.6 是你自己编译的吧.

    @ik 你这样会直接让 yum 挂掉的吧= =
    ansheng
        16
    ansheng  
       Aug 6, 2017
    pyenv......
    Osk
        17
    Osk  
       Aug 6, 2017
    virtualenv 创建时使用 virtualenv -p python3.6 可将 python3 作为 python 命令的默认版本。
    catror
        18
    catror  
       Aug 6, 2017 via Android
    不需要使用 Python2 的话,把软连接改掉就好了…其他 Linux 发行版一样
    k9982874
        19
    k9982874  
       Aug 6, 2017 via iPad
    python 不指定默认链接到 python2.7。我觉得这是楼主不熟悉系统的锅。
    julyclyde
        20
    julyclyde  
       Aug 6, 2017
    用了 2 的 pip 这问题,完全是你自己的问题啊
    可执行文件叫做 python3.6 这个事,应该还会有个叫 python3 的吧
    ik
        21
    ik  
       Aug 6, 2017 via iPhone
    @Tyanboot yum 里,再改成 2.6 吧😳
    quickma
        22
    quickma  
       Aug 7, 2017
    新技能 get,嘲讽。
    kmahyyg
        23
    kmahyyg  
       Aug 13, 2017 via Android
    来来来,投入我 debian 教的怀抱
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3207 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 11:30 · PVG 19:30 · LAX 04:30 · JFK 07:30
    ♥ Do have faith in what you're doing.