Mac 下使用 Python3.6 的正确姿势 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
uestcfei

Mac 下使用 Python3.6 的正确姿势

  •  
  •   uestcfei
    i Mar 24, 2018 9994 views
    This topic created in 2957 days ago, the information mentioned may be changed or developed.

    想看看大家 Mac 下是让 python3 和 python2 共存么?为什么我每次安装 Python3 之后,调用总是会报**AttributeError: module 'enum' has no attribute 'IntFlag'**的错。。真的是快崩溃了。看具体报错是在're.py'文件下

    我就是想简单的在使用的时候能够用命令区分出 Python3 和 Python2,感觉不应该会出这种乱七八糟的兼容性问题呀。。是我使用姿势不对?

    还有,有大佬直接把 Mac 上的 Python 升级到 Python3,卸载掉 Python2 的么?会有什么问题吗?求指教。

    Supplement 1    Mar 24, 2018
    谢谢大家的回复,各位可能漏看了一点,也怪我没说清楚。。我能用 brew 安装 Python3,但是安装之后,调用 Python3 的时候总是有错。我卸载重装还是这样:**AttributeError: module 'enum' has no attribute 'IntFlag'** 问题在库中的 re.py 文件上,我现在怀疑是这个文件引用了 python2 的库导致的?
    Supplement 2    Mar 24, 2018

    再更新一下,说明一下我现在的情况:

    其实我最终的目的是这样:

    • 能够在命令行中正常使用pip3.6
    • 能够在Pycharm中创建工程时能够使用python3的环境,因为我的项目中需要几个库,而这几个库又需要使用pip来安装到对应的Python环境中使用,但是我的pip一调用就报上面出的错,其实不仅仅是调用pip,只要是调用所有关于Python3的调用,都会报上面的错。。

    有大神知道怎么搞么。。我觉得可能我的情况可能不太常规。。。。

    Supplement 3    Mar 24, 2018

    更新一下最新的解决方案,供后来人参考

    • 最后我是使用的pyenv + pycharm满足了项目需求
    • 不得不说,pyenv是真的好用
    • 使用的过程中遇到了两个坑:
      • pycharm中对Python环境 中的包管理不会自动升级,我最后是用的easy_install -- upgrade xxx来进行的强制升级
      • 我上面提到的那个报错,到最后 依然存在,只要使用3.6 .x就会存在,使用pyenv单独安装也会存在,总之我 现在更怀疑是我的系统中有些模块被我改坏了,导致只要使用3.6.x就会报错,报错信息是在re.py文件中module 'enum' has no attribute 'IntFlag',我最后用的3.4.0,先暂时用着,等项目搞完之后再来具体处理上面的报错。
    Supplement 4    Mar 24, 2018
    最后,谢谢各位的答复,不说了,加班去啦。。
    26 replies    2018-03-26 13:46:25 +08:00
    SuperMild
        1
    SuperMild  
       Mar 24, 2018
    miniconda 是最简明清晰的。
    1iuh
        2
    1iuh  
       Mar 24, 2018
    pyenv 了解一下
    limerence12138
        3
    limerence12138  
       Mar 24, 2018 via Android
    homebrew 啊
    testsec
        4
    testsec  
       Mar 24, 2018 via iPhone
    自带的 Python2 最好不要动
    zetary
        5
    zetary  
       Mar 24, 2018 via iPhone
    anaconda 装了以后用 conda 管理环境,内置的别碰
    dingtian
        6
    dingtian  
       Mar 24, 2018
    homobrew 不是已经用 python 代替 python3 了么。。。就是默认 berw install python 就是 3。。。python2 换了个名字
    clavichord93
        7
    clavichord93  
       Mar 24, 2018
    现在 homebrew 直接安装的 python 就是 python3,装完之后就接管系统的 python 了,除非你调用 python2。然后你就可以 pyenv 了。
    pynix
        8
    pynix  
       Mar 24, 2018
    brew python 已经是 3.6

    /usr/bin/python 2.7.10

    python@2 可以安装 2
    tomychen
        9
    tomychen  
       Mar 24, 2018
    brew install
    port python3.x
    virtualenv 是个好东西...
    cxbig
        10
    cxbig  
       Mar 24, 2018 via iPhone
    docker 或 pyenv
    linthieda
        11
    linthieda  
       Mar 24, 2018
    我用 Anaconda 管理了数十个环境,
    quinoa42
        12
    quinoa42  
       Mar 24, 2018
    brew install pyenv
    pyenv install 3.6.4 2.7.14
    pyenv global 3.6.4 2.7.14
    mxalbert1996
        13
    mxalbert1996  
       Mar 24, 2018 via Android
    @zetary
    @linthieda
    Anaconda 是一个用于科学计算的 Python 发行版,如果不需要科学计算的话完全没必要装,因为它附带了大量的软件包。
    你们用的虚拟环境管理器(和包管理器)是 conda,它和 Anaconda 是独立的,直接 pip install conda 即可。
    ACSuperChen
        14
    ACSuperChen  
       Mar 24, 2018
    如果想另起炉灶不用系统自带的话
    brew install python3 就 ok
    一般 brew 安装不会有什么问题
    jason94
        15
    jason94  
       Mar 24, 2018
    homebrew 直接安装 python3
    chuxiwen
        16
    chuxiwen  
       Mar 24, 2018 via iPhone
    pyenv 么。想用什么版本用什么。
    julyclyde
        17
    julyclyde  
       Mar 24, 2018
    都在说怎么办,却没人说为什么
    zetary
        18
    zetary  
       Mar 24, 2018 via iPhone
    @mxalbert1996 好吧忘了这里是 v 站…我就是做科学计算
    GoLand
        19
    GoLand  
       Mar 24, 2018 via Android
    pyenv 了解一下。
    uestcfei
        20
    uestcfei  
    OP
       Mar 24, 2018
    @GoLand @chuxiwen pyenv 创建的环境 pycharm 能用么?
    freefcw
        21
    freefcw  
       Mar 24, 2018
    建议使用 pipenv,pycharm 可以支持
    GoLand
        22
    GoLand  
       Mar 24, 2018 via Android
    @uestcfei 可以。
    xern
        23
    xern  
       Mar 24, 2018 via Android
    anaconda 了解一下
    ljypaul2011
        24
    ljypaul2011  
       Mar 24, 2018
    打卡
    qsnow6
        25
    qsnow6  
       Mar 24, 2018 via iPhone
    anaconda 太大了 很多用不到的东西
    vimiix
        26
    vimiix  
       Mar 26, 2018
    正确姿势 pipenv
    About     Help     Advertise     Blog     API     FAQ     Solana     1091 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 74ms UTC 22:59 PVG 06:59 LAX 15:59 JFK 18:59
    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