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
wangking
V2EX  ›  Python

不懂就要问系列: mac 下如何使用 pycharm 在虚拟环境下使用 3.5 版本的 Python

  •  
  •   wangking · 2018-11-22 23:40:59 +08:00 · 3116 次点击
    这是一个创建于 2195 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人小白。
    macmini:
    环境:
    os:10.12.6
    pycharm: 2018.2.5
    问题:
    1,如何实现多版本的 python ?
    这个我参考了文章操作了如下步骤:
    ''' pyenv install 3.5.6
    并且按照文档,把 pycharm 的 interpreter 改成了 /User/xxx/.pyenv/versions/3.5.6/bin/python3.5
    '''
    2,如何实现开发环境隔离,想单独生成 requirements

    麻烦大家丢链接。谢过!

    16 条回复    2018-11-25 00:15:39 +08:00
    likuku
        2
    likuku  
       2018-11-22 23:49:52 +08:00
    @JsonLee 官方文档果然是最好的!
    drizztdouu00
        3
    drizztdouu00  
       2018-11-22 23:50:41 +08:00 via Android
    pipenv
    laike9m
        4
    laike9m  
       2018-11-22 23:52:18 +08:00 via Android   ❤️ 1
    pyenv 结合 pyenv-virtualenv 使用,效果很好
    ysc3839
        5
    ysc3839  
       2018-11-22 23:59:37 +08:00 via Android   ❤️ 1
    我没在 Mac 下使用过 Python。
    Windows 安装多个版本的 Python 可以直接用官网下载的安装程序。
    Ubuntu 的话添加个 ppa 源 https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa,然后就可以直接安装多个版本的 Python 了。使用 pyenv 也行,不过因为要本机编译,会耗费更多时间。

    requirements 隔离的话用 pipenv。
    XIVN1987
        6
    XIVN1987  
       2018-11-23 00:07:49 +08:00
    还在用 virtualenv 的路过,,
    wangking
        7
    wangking  
    OP
       2018-11-23 00:09:32 +08:00
    @JsonLee 官方文档果然无懈可击。。。谢谢。
    wangking
        8
    wangking  
    OP
       2018-11-23 00:10:24 +08:00
    @laike9m 本来是想用这个方法的,网上文档找了几个,感觉都不完整
    wangking
        9
    wangking  
    OP
       2018-11-23 00:12:17 +08:00
    @ysc3839 感谢,之前用的 Linux mint 多版本 python 这个我操作没有问题,就是没有操作过隔离,所以生成的 requirements 是一大堆,所以这次换 mac 想从一开始就把环境隔离好
    kingfighters
        10
    kingfighters  
       2018-11-23 09:53:19 +08:00
    可以考虑 virtualenvwrapper
    laike9m
        11
    laike9m  
       2018-11-23 10:50:27 +08:00
    @wangking 安装步骤和创建 virtualenv 直接参考官方文档
    https://github.com/pyenv/pyenv-virtualenv

    之后使用参考这个。最后能做到进入目录自动切换对应 Python 版本,完全无需手动操作
    https://stackoverflow.com/questions/40492424/pyenv-virtualenv-how-to-specify-virtualenv-used-by-using-file
    wangking
        12
    wangking  
    OP
       2018-11-23 12:11:54 +08:00
    @laike9m Hi, 参照这个文档,现在基本明白了 pyenv 的作用, 但 pyenv-virtualenv 是在$(pyenv root)/versions/ 创建了一个 env 的路径,这个路径是我制定 python 版本的 bin 目录?还是说,是我的 workspace 目录?我现在在 pycharm 里新建 project 的 location 该怎么指呢? interperter 应该是指到 $(pyenv root)/versions/env3.5.6/bin/python.


    哦, 我想我可能是明白了 pyenv virtualenv 3.5.6 env3.5.6 这条命令应该只是实现了安装 python3.5.6 这个版本,并把 python 文件安装路径指到 $(pyenv root)/versions/env3.5.6/bin/ 这里。


    如果我有多个项目都使用 3.5.6 我就不能把所有的 interpreter 都设置成这一个路径了。假设我再创建一个 project A,那么我应该再 pyenv virtualenv 3.5.6 A,然后把这个 project 的 interpreter 改成 A 的路径。

    我也不知道我这样理解对不对。欢迎指正
    shoujiaxin
        13
    shoujiaxin  
       2018-11-23 14:21:28 +08:00 via iPhone
    conda 了解一下,把 Python 当成包,多版本管理很方便
    TimePPT
        14
    TimePPT  
       2018-11-23 14:46:53 +08:00
    用了多种工具,最终选择使用 pyenv + pipenv + direnv 作为 python 开发环境配置的最终选择。
    laike9m
        15
    laike9m  
       2018-11-23 22:39:36 +08:00
    @wangking 你理解的没错。Pycharm 路径就用 versions 里面的。这样配置之后开发路径和 Python 解释器和库的路径是分开的。理论上你可以多个 project 共用一个 pyenv 安装的 Python,但一般还是隔离。我喜欢这样命名
    [email protected]
    [email protected]
    dibis
        16
    dibis  
       2018-11-25 00:15:39 +08:00
    我使用的效果是这样:
    ➜ document git:(master) ✗ pyenv activate v365env
    pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
    (v365env) ➜ document git:(master) ✗ python
    Python 3.6.5 (default, Nov 17 2018, 21:07:54)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1070 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:12 · PVG 03:12 · LAX 11:12 · JFK 14:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.