安装 python3.11 后,一般的 python/python3 可执行文件都没有符号链接到它们

问题描述 投票:0回答:1

我已经通过

python 3.11
安装了
Homebrew
。 有很多关于 [email protected] 不更新 python/python3 等类似问题的帖子。但我还没有看到解决方案来修复可执行文件包括
pip/pip3
pydoc
idle
 wheel
都没有。

cd /usr/local/Cellar/[email protected]/3.11.9/bin
/usr/local/Cellar/[email protected]/3.11.9/bin$ ll
total 8
lrwxr-xr-x  1 steve admin  66 Apr  2 01:25 python3.11-config -> ../Frameworks/Python.framework/Versions/3.11/bin/python3.11-config
lrwxr-xr-x  1 steve admin  59 Apr  2 01:25 python3.11 -> ../Frameworks/Python.framework/Versions/3.11/bin/python3.11
lrwxr-xr-x  1 steve admin  58 Apr  2 01:25 pydoc3.11 -> ../Frameworks/Python.framework/Versions/3.11/bin/pydoc3.11
lrwxr-xr-x  1 steve admin  57 Apr  2 01:25 idle3.11 -> ../Frameworks/Python.framework/Versions/3.11/bin/idle3.11
lrwxr-xr-x  1 steve admin  58 Apr  2 01:25 2to3-3.11 -> ../Frameworks/Python.framework/Versions/3.11/bin/2to3-3.11
-rwxr-xr-x  1 steve wheel 233 Jul  6 22:27 wheel3.11
-rwxr-xr-x  1 steve wheel 246 Jul  6 22:27 pip3.11
drwxr-xr-x  9 steve admin 288 Jul  6 22:27 .

这并不是简单地将新目录添加到路径中:它需要对每个目录进行符号链接。 有什么方法可以做到这一点?

更新。我需要取得一些进展,因此手动符号链接了

python[/3]
pip[/3]
。 我仍在寻找一个更通用的过程来执行此操作:每次安装新版本的 python 时,每个人都会手动创建 14 个符号链接,这是值得怀疑的。 [我会等待否决票,看看其他人是否注意到更好的方法。]

python homebrew
1个回答
0
投票

似乎没有任何方法可以重置本文中描述的所有符号链接。我发现的最接近的是

OLDVERSION=3.12
NEWVERSION=3.11
brew unlink python@$OLDVERSION && brew link python@$NEWVERSION
python -V
python3 -V

这给出了令人鼓舞的部分结果:

Unlinking /usr/local/Cellar/[email protected]/3.12.4... 25 symlinks removed.
Linking /usr/local/Cellar/[email protected]/3.11.9... 15 symlinks created.
Python 3.11.9
Python 3.11.9

让我们继续对辅助程序(pydoc3、wheel3 等)取消别名/重新别名

unalias pydoc3 wheel3 idle3 2to3 python3-config
alias pydoc3=pydoc$NEWVERSION
alias wheel3=wheel$NEWVERSION
alias idle3=idle$NEWVERSION
alias 2to3=2to3-$NEWVERSION
alias python3-config=python$NEWVERSION-config
# Let's check our work
type pydoc3 wheel3 idle3 2to3 python3-config
wheel3
pydoc3 is aliased to `pydoc3.11'
wheel3 is aliased to `wheel3.11'
idle3 is aliased to `idle3.11'
2to3 is aliased to `2to3-3.11'
python3-config is aliased to `python3.11-config'
usage: wheel3.11 [-h] {unpack,pack,convert,tags,version,help} ...

让我们继续其他辅助程序(pydoc、wheel 等)

unalias pydoc wheel idle python-config
alias pydoc=pydoc3
alias wheel= 
alias idle=idle3
alias python-config=python-config3
© www.soinside.com 2019 - 2024. All rights reserved.