V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
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
V2EX  ›  Python

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

  •  
  •   uestcfei ·
    i · 2018-03-24 00:15:31 +08:00 · 9175 次点击
    这是一个创建于 2219 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

    第 3 条附言  ·  2018-03-24 10:29:21 +08:00

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

    • 最后我是使用的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,先暂时用着,等项目搞完之后再来具体处理上面的报错。
    第 4 条附言  ·  2018-03-24 10:30:01 +08:00
    最后,谢谢各位的答复,不说了,加班去啦。。
    26 条回复    2018-03-26 13:46:25 +08:00
    SuperMild
        1
    SuperMild  
       2018-03-24 00:22:42 +08:00
    miniconda 是最简明清晰的。
    1iuh
        2
    1iuh  
       2018-03-24 00:24:27 +08:00
    pyenv 了解一下
    limerence12138
        3
    limerence12138  
       2018-03-24 00:36:28 +08:00 via Android
    homebrew 啊
    testsec
        4
    testsec  
       2018-03-24 00:53:37 +08:00 via iPhone
    自带的 Python2 最好不要动
    zetary
        5
    zetary  
       2018-03-24 00:55:34 +08:00 via iPhone
    anaconda 装了以后用 conda 管理环境,内置的别碰
    dingtian
        6
    dingtian  
       2018-03-24 00:58:12 +08:00
    homobrew 不是已经用 python 代替 python3 了么。。。就是默认 berw install python 就是 3。。。python2 换了个名字
    clavichord93
        7
    clavichord93  
       2018-03-24 01:02:34 +08:00
    现在 homebrew 直接安装的 python 就是 python3,装完之后就接管系统的 python 了,除非你调用 python2。然后你就可以 pyenv 了。
    pynix
        8
    pynix  
       2018-03-24 01:06:45 +08:00
    brew python 已经是 3.6

    /usr/bin/python 2.7.10

    python@2 可以安装 2
    tomychen
        9
    tomychen  
       2018-03-24 01:24:08 +08:00
    brew install
    port python3.x
    virtualenv 是个好东西...
    cxbig
        10
    cxbig  
       2018-03-24 01:56:02 +08:00 via iPhone
    docker 或 pyenv
    linthieda
        11
    linthieda  
       2018-03-24 02:43:31 +08:00
    我用 Anaconda 管理了数十个环境,
    quinoa42
        12
    quinoa42  
       2018-03-24 02:48:31 +08:00
    brew install pyenv
    pyenv install 3.6.4 2.7.14
    pyenv global 3.6.4 2.7.14
    mxalbert1996
        13
    mxalbert1996  
       2018-03-24 03:43:57 +08:00 via Android
    @zetary
    @linthieda
    Anaconda 是一个用于科学计算的 Python 发行版,如果不需要科学计算的话完全没必要装,因为它附带了大量的软件包。
    你们用的虚拟环境管理器(和包管理器)是 conda,它和 Anaconda 是独立的,直接 pip install conda 即可。
    ACSuperChen
        14
    ACSuperChen  
       2018-03-24 08:14:50 +08:00
    如果想另起炉灶不用系统自带的话
    brew install python3 就 ok
    一般 brew 安装不会有什么问题
    jason94
        15
    jason94  
       2018-03-24 08:22:58 +08:00
    homebrew 直接安装 python3
    chuxiwen
        16
    chuxiwen  
       2018-03-24 08:39:37 +08:00 via iPhone
    pyenv 么。想用什么版本用什么。
    julyclyde
        17
    julyclyde  
       2018-03-24 08:41:32 +08:00
    都在说怎么办,却没人说为什么
    zetary
        18
    zetary  
       2018-03-24 08:54:13 +08:00 via iPhone
    @mxalbert1996 好吧忘了这里是 v 站…我就是做科学计算
    GoLand
        19
    GoLand  
       2018-03-24 09:04:41 +08:00 via Android
    pyenv 了解一下。
    uestcfei
        20
    uestcfei  
    OP
       2018-03-24 09:38:24 +08:00
    @GoLand @chuxiwen pyenv 创建的环境 pycharm 能用么?
    freefcw
        21
    freefcw  
       2018-03-24 09:47:28 +08:00
    建议使用 pipenv,pycharm 可以支持
    GoLand
        22
    GoLand  
       2018-03-24 10:00:48 +08:00 via Android
    @uestcfei 可以。
    xern
        23
    xern  
       2018-03-24 11:12:05 +08:00 via Android
    anaconda 了解一下
    ljypaul2011
        24
    ljypaul2011  
       2018-03-24 11:38:48 +08:00
    打卡
    qsnow6
        25
    qsnow6  
       2018-03-24 13:36:23 +08:00 via iPhone
    anaconda 太大了 很多用不到的东西
    vimiix
        26
    vimiix  
       2018-03-26 13:46:25 +08:00
    正确姿势 pipenv
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3023 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 00:11 · PVG 08:11 · LAX 17:11 · JFK 20:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.