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

2018-11-22 23:40:59 +08:00
 wangking

本人小白。
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

麻烦大家丢链接。谢过!

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

requirements 隔离的话用 pipenv。
XIVN1987
2018-11-23 00:07:49 +08:00
还在用 virtualenv 的路过,,
wangking
2018-11-23 00:09:32 +08:00
@JsonLee 官方文档果然无懈可击。。。谢谢。
wangking
2018-11-23 00:10:24 +08:00
@laike9m 本来是想用这个方法的,网上文档找了几个,感觉都不完整
wangking
2018-11-23 00:12:17 +08:00
@ysc3839 感谢,之前用的 Linux mint 多版本 python 这个我操作没有问题,就是没有操作过隔离,所以生成的 requirements 是一大堆,所以这次换 mac 想从一开始就把环境隔离好
kingfighters
2018-11-23 09:53:19 +08:00
可以考虑 virtualenvwrapper
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
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
2018-11-23 14:21:28 +08:00
conda 了解一下,把 Python 当成包,多版本管理很方便
TimePPT
2018-11-23 14:46:53 +08:00
用了多种工具,最终选择使用 pyenv + pipenv + direnv 作为 python 开发环境配置的最终选择。
laike9m
2018-11-23 22:39:36 +08:00
@wangking 你理解的没错。Pycharm 路径就用 versions 里面的。这样配置之后开发路径和 Python 解释器和库的路径是分开的。理论上你可以多个 project 共用一个 pyenv 安装的 Python,但一般还是隔离。我喜欢这样命名
project_A@3.7.1
project_B@3.7.1
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)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/510581

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX