求助大黑:关于 macOS 的 Python 版本混乱的若干问题

49 天前
 GooogIe

我是小白,求助大黑,关于 macOS 的 Python 版本混乱的若干问题,macOS 版本号 10.15.7 (19H2026)

通过上面的图片,我知道,我使用 brew 安装了 Python 的 4 个版本:python3.9 、python3.10 、python3.11 、python3.12 ,系统自带的是 Python2.7 。

我比较疑惑的是下面 pip 的问题

通过上面的图片,我知道,安装了 Python 的几个版本后,自带了很多的相对应版本的 pip ,

2688 次点击
所在节点    Python
32 条回复
GooogIe
49 天前
问题 5:为什么只有 pip3.12 是一个软连接,而 pip3.10 和 pip3.11 和 pip3.8 是一个文件
hongweijie8
49 天前
我要是你我就把所有的删了,然后装一个 3.8 ,用 venv
Livid
49 天前
gray0
49 天前
同样推荐 pyenv
OCD2057
49 天前
pyenv 或者 conda 解决这种多版本的问题
arischow
49 天前
Python: pyenv ( Python 版本管理器) + Pip / Poetry / Pipenv (项目包管理器)

对应

Node: nvm ( Node 版本管理器)+ npm / yarn / ... (项目包管理器)
digd
49 天前
建议还是用 conda 来管理环境!怎么能用 brew 安装这么多 python ,太脏了

安装一个 miniconda 吧
jollywang
49 天前
我是用 mise, 可以版本管理 python, node, java 等, 本身是 rust 开发, 无其他依赖
https://mise.jdx.dev/lang/python.html

pyenv, nvm, nodenv 之类的配置还不统一
jollywang
49 天前
系统自带的就一个默认 ruby/python 版本, 但也不用, 其他的就还是用这个来管理 python/node/java/golang 都没啥问题
makaflow
49 天前
不要直接使用 brew 安装的 python ,brew 的 python 只为 brew 安装的软件提供依赖,不是给用户服务的。因为伴随着 brew 对软件包的升级,安装的 python 包会不见而且会影响依赖 python 的软件包。所以,你如果想使用 python ,需要自己安装个 anaconda 或其他管理软件,然后把 anaconda 的 bin 目录放到 PATH 变量的最前面就可以了。
raycool
49 天前
直接 conda 或者 miniconda 吧
strawberrydafu
49 天前
顺便也问问。我之前是一直用 conda ,没遇到啥问题。前端时间想试试切换到 poetry ,结果发现 poetry 把 conda 的环境配置给拦截了。不知道有没有朋友解决过类似的问题。有没有办法让 conda 和 poetry 一起用
1252603486
49 天前
用 versionfox 吧,很多语言都支持,挺好的
jqtmviyu
49 天前
我也是小白, 这个问题之前也问过类似的.
问题 1: 我猜是没有暴露环境变量的原因.
问题 2: 用 venv
问题 3: 有第三方的 pdm.
问题 4: 我猜类似 npm 的依赖链, 没找到版本就帮你下. 删了可能能用, 也可能出错.

建议一步到位用 rye+uv/pyenv+uv
founddev
49 天前
pyenv+poetry
fkdog
49 天前
感觉 python 的虚拟环境是真的多。
venv virtualenv pyenv conda
retanoj
49 天前
考虑下 asdf
noahlias
49 天前
正常 你用 brew 就会有这种情况 很多软件有的更新策略很保守 有的又很激进它们的依赖不一样
导致 mac 上 brew 带的 python 版本很多混乱,我基本不用它自带的
我要么用 conda 或者 rye 来管理,conda 主要是由一些科学计算(包括 AI)的包比较方便,rye 偏 python 工程
题外话 brew 安装的时候经常会有 dylib 会有软链接版本不对导致有些软件 bus error
每次要么安装--head 版本或者直接 brew upgrade 更新所有依赖才能避免
zackzergzeng
49 天前
如果这么乱的话我一般用 ```python -m pip```来使用对应 python 的 pip
一般/usr/local/bin 下的文件都是软链在别处的吧,macos 一般都是本体安装到 Library 下再软链回来的
你要想知道 pip3.10 为什么指向有问题的话就直接 vim 看一眼里面代码被,反正 pip 就是一个 py 脚本
Motorola3
49 天前
@hongweijie8 正解

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

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

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

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

© 2021 V2EX