不懂就要问系列: mac 下如何使用 pycharm 在虚拟环境下使用 3.5 版本的 Python - V2EX
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 3448 次点击
    这是一个创建于 2516 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人小白。
    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
    tr>
    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  
    PRO
       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     Solana     2809 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 00:21 PVG 08:21 LAX 17:21 JFK 20:21
    Do have faith in what you're doing.
    ubao 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