对 Python 一直不是很了解,直接 brew install python 可以吗?网上搜索都是说需要安装 pyenv 比较优雅。不是 Python 开发者,只是偶尔需要写一点 python script
请问直接用 brew install python 还是 brew install pyenv ?
感觉 Python 版本问题好麻烦啊,java 的话,直接网上下载一个包,拖进去就能用 IDEA 用了,版本问题根本不存在
1
xtinput 2023-01-28 16:18:36 +08:00
和 java 没啥区别,一样多版本同时使用
|
2
gowl 2023-01-28 16:30:00 +08:00
PyCharm
|
3
seanzxx 2023-01-28 16:34:35 +08:00 4
java 的版本问题其实更多,oracle jdk, openjdk, zulu jdk ,然后又有不同的版本,现在半年出一个新版本,每个版本又有新功能。
推荐使用 pyenv 或者 asdf 这种版本管理软件 brew install python 安装的版本总是会安装最新的版本,而且你 pip 安装 library 的话,都和 brew 混在一起,感觉不好。 pyenv / asdf 可以支持安装多个版本,不同的项目 /目录自动激活对应的版本 我喜欢 配合上 pipenv 使用,python 和 library 统一管理 |
4
MID OP @seanzxx 感谢回复,其实两年前使用过 pyenv ,但是现在文档都看不下去了,感觉好复杂...
我个人想了一下,py 用的太少了,pip 什么的项目可以在 pycharm 里面弄,也不影响外面的。 |
5
jayzau1973 2023-01-28 16:43:46 +08:00
anaconda
|
6
Lockeysama 2023-01-28 16:44:07 +08:00 2
搞个 miniconda 最方便吧,隔离 Python 版本,隔离环境。。不影响系统自带版本的 Python
|
7
ospider 2023-01-28 16:44:53 +08:00
miniconda 。pyenv 和 venv 的功能都有了,比较省心。
|
8
wu67 2023-01-28 16:45:54 +08:00
我选择 docker, 只要不是特别奇怪的东西, 我现在都优先考虑 docker 搭环境了
|
10
wu67 2023-01-28 16:50:48 +08:00
@MID 但是不会遇到奇奇怪怪的问题, 也不会遇到像公司的代码只能跑在特定版本上, 而我想装个最新的环境造轮子. 个人觉得 docker 真的是天生适合多版本共存.
|
11
dudu2017 2023-01-28 16:51:13 +08:00 1
用 Homebrew 和 pyenv 下载的 Python 运行脚本是都行,搞清楚 Python 版本和虚拟环境是什么就可以。
我的使用习惯: 1 、Homebrew 管理的 Python 版本基本不动他,只用于其他 Homebrew 下载软件的依赖。 2 、开发使用 pyenv 管理 Python 版本,不用的项目使用不用的版本的 Python ,用原生模块 venv 创建不同的虚拟环境进行 Package 管理 |
13
GabrielleBellamy 2023-01-28 17:14:18 +08:00 1
brew install 的 python 会装在 HomeBrew 自己的路径里,这个路径与系统默认的路径可能有别,因此如果你解释器路径设置的不是这个,那么到时候会调用不到,如楼上所说,最好只用于 HomeBrew 的环境依赖。其他的方法还有很多,无论是直接从官网装 python 还是搭虚拟环境,都得弄清楚路径就行。另一个是注意电脑的芯片架构,一旦路径多,装包又分不同的架构,就需要仔细检查运行环境。
|
14
quzard 2023-01-28 17:33:13 +08:00 via iPhone
anaconda
|
15
FarmerChillax 2023-01-28 17:43:39 +08:00
楼主提到就写写 python script ,其实就没必要上多版本了,直接 python3 装个最新的就完善了。
#3 说的对,java 的版本问题其实更多 |
16
stein42 2023-01-28 18:00:58 +08:00
brew 可以安装指定版本的 python ,例如:
brew install [email protected] 项目里面基于指定版本的 python 建一个 venv 就够了。 pyenv 通常需要编译,要先安装好编译器和依赖库。 conda 也是不错的选择。 |
17
ddvswgg 2023-01-28 18:47:49 +08:00 via iPhone
Miniconda
|
18
webcape233 2023-01-28 19:17:33 +08:00 via iPhone
brew install 然后 python -m venv
|
19
clrss 2023-01-28 19:31:30 +08:00
写脚本用 Xcode.app 或者 CommandLineTools 自带的就行.
``` % which python3 /usr/bin/python3 # 这是个 wrapper, 实际用的是: % xcrun --find python3 /Applications/Xcode.app/Contents/Developer/usr/bin/python3 ``` pip3 install 时记得加个--user |
20
Thecosy 2023-01-28 21:10:32 +08:00
我是 anaconda
|
21
BMPixel 2023-01-28 21:19:38 +08:00
@MID 其实损耗还行,docker 比虚拟机高效多了,性能的话似乎会折个 10-20%?然后你的下载的 python 镜像大约 500M ,同时 docker 后台不管你干什么差不多用 2-4G 内存(在 docker 里设置)。
考虑到我用了三年的 conda 环境现在有 13 个 G ,而且 docker 配合上 vscode 的 devcontainer ,可以让我进入任何语言的项目时立刻得到完整的配置,因此我现在已经把电脑里的各种包全删了 |
22
jayeli 2023-01-28 21:23:02 +08:00 1
miniconda + venv
|
23
leverestfish 2023-01-28 21:33:47 +08:00
投 miniconda 一票
|
25
Jface 2023-01-28 21:39:55 +08:00
谢谢大家,被安利了 miniconda ,马上去了解了解。
|
26
IvanLi127 2023-01-28 21:40:52 +08:00 via Android
我觉得直接上 dev container 是最优雅的了,直接抹平各种环境问题
|
27
Jface 2023-01-28 22:47:57 +08:00
@jayeli #22 小白请教一个问题 ,这么使用的话,是不是每个项目都需要单独新建一个环境?那么项目多起来的话,是不是垃圾文件就会很多?
|
28
FozillaMox 2023-01-28 23:25:26 +08:00
如果只是偶尔写一下 python 的话,macOS 已经预装 python3 了,相信已经满足你的需求。
|
29
yescola 2023-01-28 23:30:49 +08:00 via iPhone
跪着
|
30
SuperMild 2023-01-28 23:33:29 +08:00
感觉 miniconda 的隔离逻辑是最清晰的。
|
31
sshang 2023-01-28 23:52:01 +08:00
anaconda
|
32
yangxin0 2023-01-28 23:53:37 +08:00
conda
|
33
angkec 2023-01-28 23:59:45 +08:00
brew install python
virtualenv venv source vent/bin/activate 就可以了 |
34
noqwerty 2023-01-29 00:10:55 +08:00 via iPhone
brew install micromamba
|
35
1014982466 2023-01-29 00:21:18 +08:00
上面说的都好麻烦。没有理由不用 miniconda
|
36
lrigi 2023-01-29 00:29:34 +08:00 via iPhone 1
@Jface 不需要每个项目一个环境,就是普通的 python 代码对于库的小版本号没那么高的要求,这样平时都用一个环境差不多就够了。(个人是这样的,商业生产环境可能需要每个项目一个环境吧
|
37
lanlanye 2023-01-29 01:13:39 +08:00
我觉得你要是本身不熟悉 Python 的话说明不是特别在意版本,那 macOS 原装的就可以直接用了吧……
直接使用 python3 就行,什么都不用安装 |
38
nuistzhou 2023-01-29 01:25:24 +08:00 via iPhone
因为 Mac os 自带 python ,而且系统依赖这个自带的。所以建议自己玩 python ,就搞个这种虚拟环境的 python 去随便玩,不影响系统自带的这个。
|
39
Laussan 2023-01-29 01:31:53 +08:00
我现在觉得 miniconda 最好
|
40
ByteCat 2023-01-29 03:43:46 +08:00
我用的 mambaforge ,M1 支持得很好,用了两年了
|
41
jayeli 2023-01-29 09:01:48 +08:00 1
@Jface #27 创建带有不同版本 Python 解释器的 conda 环境就可以了,之后直接用 venv 。
miniconda 装完之后自带一个 Python 解释器( conda 的 base 环境),你可以直接用 `~/miniconda3/bin/python -m venv ./.venv` 创环境。当你对 Python 有其他版本的需求时,可以使用 conda 再创建一个环境,像这样 `conda create -n python36 -c conda-forge python=3.6`,此时就可以和之前一样使用 Python 3.6 的解释器创建 venv 环境,`~/.conda/envs/python36/bin/python -m venv ./.venv`。 microbamba 是用 C++ 实现,只有一个可执行文件,更轻更快,同时兼容 conda 环境。官网说目前还处于早期阶段,不过用下来没什么问题。它的用法和 conda 一样,上手也很快,值得一试。 |
42
zhangzEric 2023-01-29 10:49:08 +08:00 via iPhone
不经常用 python 的话,直接 pycharm 让他自动检测安装吧,小白友好
|
43
SuperChenCN 2023-01-29 11:21:11 +08:00
miniconda +1
|
44
howie6879 2023-01-29 11:52:39 +08:00
|
45
brucedone 2023-01-29 12:44:54 +08:00
miniconda ,搞 python 是没办法脱离虚拟环境管理的
|
46
sidkang 2023-01-29 13:06:34 +08:00
pyenv 的文档都能觉得烦,我是觉得蛮诧异的,楼上居然都觉得合理么,😂
|
48
MID OP 感谢各位的回复,已经用上 miniconda 了,感觉超好用!目前配合 Pycharm ,感觉天衣无缝,感谢大家推荐!
@Jface @sidkang @brucedone @howie6879 @SuperChenCN @zhangzEric @jayeli @ByteCat @Laussan @nuistzhou @lanlanye @lrigi @1014982466 @noqwerty @angkec @yangxin0 @sshang @SuperMild @yescola @FozillaMox @Jface @IvanLi127 @jayeli @leverestfish @jayeli @BMPixel @Thecosy @clrss @webcape233 @ddvswgg @stein42 @FarmerChillax @quzard @GabrielleBellamy @dudu2017 @dudu2017 @wu67 @wu67 @ospider @Lockeysama @jayzau1973 @seanzxx @gowl @xtinput |
49
Stlin 2023-01-29 16:44:24 +08:00
miniconda 挺好用的
|
50
julyclyde 2023-01-30 09:17:15 +08:00
首先,系统自带 python3 ,不过 pip 的时候你需要--user
其次,你如果选 pyenv (或者 asdf 之类的),那 pyenv 本身用啥来运行呢?其实还是依赖于某个 python 窃以为现在多版本 python 已经没有时候啥意义了。多环境隔离才是硬需求 |
51
zhongjiajie 2023-02-09 09:04:45 +08:00
pyenv +
|
52
zhongjiajie 2023-02-09 09:08:48 +08:00
我目前是 pyenv + pyenv-virtualenvwrapper 组合,基本上能解决多个 python 版本,以及同一个版本下多个项目依赖的问题
pip install pyenv brew install pyenv-virtualenvwrapper # 安装一个新 version 的 python pyenv install python3.11 pyenv global python3.11 pyenv virtualenvwrapper mkvirtualenv new_project |
53
sickoo 2023-06-19 22:19:52 +08:00
miniconda 结合 pycharm ,那如何优雅的 install package ,打开终端 -> 激活虚拟环境 -> conda install xxx ?
|