在 Cent7 上用 Python3 简直太魔幻了 - V2EX
icedx

在 Cent7 上用 Python3 简直太魔幻了

  •  
  •   icedx Aug 6, 2017 4949 views
    This topic created in 3205 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     2924 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 66ms UTC 15:06 PVG 23:06 LAX 08:06 JFK 11:06
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86