icedx

在 Cent7 上用 Python3 简直太魔幻了

  •  
  •   icedx · Aug 6, 2017 · 5312 views
    This topic created in 3379 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
    Trim21
    Aug 6, 2017 via iPad
    1
    是时候用 docker 了。。
    oxoxoxox
    oxoxoxox
    Aug 6, 2017 via iPhone
    2
    关键字 pyenv
    或者你手动指定 python 软连接
    oxoxoxox
    oxoxoxox
    Aug 6, 2017 via iPhone
    3
    另外 这并不是 CentOS7 的锅 其他 linux 发行版也会有这样的问题
    ywgx
    ywgx
    Aug 6, 2017
    4
    pip3
    playniuniu
    playniuniu
    Aug 6, 2017 via iPhone
    5
    你这明显是把 python3 和 python 2 混用起来的节奏啊 另外 python 3 上请用 pymysql 做驱动
    6388xE5FRKTNUT9x
    6388xE5FRKTNUT9x
    Aug 6, 2017 via Android
    6
    手动软连接比较合适,arch 上也是一样的
    ik
    ik
    Aug 6, 2017 via iPhone
    7
    cp python3.6 python

    或者

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

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

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

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

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