求一个在 mac 上使用 Python 的姿势

2023-01-28 16:14:40 +08:00
 MID

对 Python 一直不是很了解,直接 brew install python 可以吗?网上搜索都是说需要安装 pyenv 比较优雅。不是 Python 开发者,只是偶尔需要写一点 python script

请问直接用 brew install python 还是 brew install pyenv ?

感觉 Python 版本问题好麻烦啊,java 的话,直接网上下载一个包,拖进去就能用 IDEA 用了,版本问题根本不存在

5656 次点击
所在节点    macOS
53 条回复
xtinput
2023-01-28 16:18:36 +08:00
和 java 没啥区别,一样多版本同时使用
gowl
2023-01-28 16:30:00 +08:00
PyCharm
seanzxx
2023-01-28 16:34:35 +08:00
java 的版本问题其实更多,oracle jdk, openjdk, zulu jdk ,然后又有不同的版本,现在半年出一个新版本,每个版本又有新功能。

推荐使用 pyenv 或者 asdf 这种版本管理软件

brew install python 安装的版本总是会安装最新的版本,而且你 pip 安装 library 的话,都和 brew 混在一起,感觉不好。

pyenv / asdf 可以支持安装多个版本,不同的项目 /目录自动激活对应的版本
我喜欢 配合上 pipenv 使用,python 和 library 统一管理
MID
2023-01-28 16:41:16 +08:00
@seanzxx 感谢回复,其实两年前使用过 pyenv ,但是现在文档都看不下去了,感觉好复杂...

我个人想了一下,py 用的太少了,pip 什么的项目可以在 pycharm 里面弄,也不影响外面的。
jayzau1973
2023-01-28 16:43:46 +08:00
anaconda
Lockeysama
2023-01-28 16:44:07 +08:00
搞个 miniconda 最方便吧,隔离 Python 版本,隔离环境。。不影响系统自带版本的 Python
ospider
2023-01-28 16:44:53 +08:00
miniconda 。pyenv 和 venv 的功能都有了,比较省心。
wu67
2023-01-28 16:45:54 +08:00
我选择 docker, 只要不是特别奇怪的东西, 我现在都优先考虑 docker 搭环境了
MID
2023-01-28 16:47:11 +08:00
@wu67 docker 基于 linux ,在 mac 上等于先运行一个虚拟机,再配置环境,感觉损耗好大啊
wu67
2023-01-28 16:50:48 +08:00
@MID 但是不会遇到奇奇怪怪的问题, 也不会遇到像公司的代码只能跑在特定版本上, 而我想装个最新的环境造轮子. 个人觉得 docker 真的是天生适合多版本共存.
dudu2017
2023-01-28 16:51:13 +08:00
用 Homebrew 和 pyenv 下载的 Python 运行脚本是都行,搞清楚 Python 版本和虚拟环境是什么就可以。

我的使用习惯:
1 、Homebrew 管理的 Python 版本基本不动他,只用于其他 Homebrew 下载软件的依赖。
2 、开发使用 pyenv 管理 Python 版本,不用的项目使用不用的版本的 Python ,用原生模块 venv 创建不同的虚拟环境进行 Package 管理
dudu2017
2023-01-28 17:06:11 +08:00
@dudu2017 不用的项目使用不用的版本--> 不同的项目使用不同的版本
GabrielleBellamy
2023-01-28 17:14:18 +08:00
brew install 的 python 会装在 HomeBrew 自己的路径里,这个路径与系统默认的路径可能有别,因此如果你解释器路径设置的不是这个,那么到时候会调用不到,如楼上所说,最好只用于 HomeBrew 的环境依赖。其他的方法还有很多,无论是直接从官网装 python 还是搭虚拟环境,都得弄清楚路径就行。另一个是注意电脑的芯片架构,一旦路径多,装包又分不同的架构,就需要仔细检查运行环境。
quzard
2023-01-28 17:33:13 +08:00
anaconda
FarmerChillax
2023-01-28 17:43:39 +08:00
楼主提到就写写 python script ,其实就没必要上多版本了,直接 python3 装个最新的就完善了。
#3 说的对,java 的版本问题其实更多
stein42
2023-01-28 18:00:58 +08:00
brew 可以安装指定版本的 python ,例如:
brew install python@3.9
项目里面基于指定版本的 python 建一个 venv 就够了。

pyenv 通常需要编译,要先安装好编译器和依赖库。

conda 也是不错的选择。
ddvswgg
2023-01-28 18:47:49 +08:00
Miniconda
webcape233
2023-01-28 19:17:33 +08:00
brew install 然后 python -m venv
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
Thecosy
2023-01-28 21:10:32 +08:00
我是 anaconda

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

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

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

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

© 2021 V2EX