系统内置了一个 python2
安装 xcode 的时候内置了 Command Line Tools 其中有 python3.7
后来安装 brew 要求必须再单独安装个 Command Line Tools 其中又包含了 python3.7
通过 brew 安装了一个软件 依赖并安装了 python3.8
想问问 这些 python 是都创建软连接了?会不会有冲突?
系统内置了一个 python2
安装 xcode 的时候内置了 Command Line Tools 其中有 python3.7
后来安装 brew 要求必须再单独安装个 Command Line Tools 其中又包含了 python3.7
通过 brew 安装了一个软件 依赖并安装了 python3.8
想问问 这些 python 是都创建软连接了?会不会有冲突?
1
Livid MOD PRO |
2
NoobPhper Jun 24, 2020
brew link --force
|
3
volvo007 Jun 24, 2020
建议别这么干…… 装个 pip 或者 conda,用相关的功能 (比如 conda create -n <pyEnvName> python=3.8 )来管理和隔离不同的 py 环境
|
4
VDimos Jun 24, 2020 via Android
别动默认的 python,用 miniconda 管理 python
|
5
justin2018 Jun 24, 2020
用 conda 或者 Google Colab
|
6
Mutoo Jun 24, 2020
之前研究过这个问题,macos 系统里其实有两个 python 2
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /System 目录为 root 管理员专用路径,该 pythong 用于系统维护之类的场景,平时不用。 /Library 目录为所有用户共享,但仅有管理员能修改(安装、删除)其中的内容,需要 sudo 权限才能安装 package 此外不同工具自带的 python 主要是考虑到自己的依赖。 你需要的解决方案是虚环境 venv/pyenv |
7
ttimasdf Jun 24, 2020 via Android
日常使用 pyenv 可定制性比较高,
|
8
podel Jun 24, 2020
除了 venv/pyenv
另外还推荐一个 miniconda sh 直接安装 安装好了 直接用。想切什么版本 切什么版本。 |
9
Xusually Jun 24, 2020
macOS 的日常,自带的这些自己别动。
python 用 conda 之类的管理 brew 安的其他软件在 brew 自己的目录里,link 不 link 最也可以控制的 系统自动启动的服务和你的冲突的话,把系统的关掉,用你自己的 说到底,还是环境的事儿,看看环境变量就知道 |
10
laike9m Jun 24, 2020
直接 pyenv 一把梭即可
|
11
LennieChoi Jun 24, 2020
conda 简直太香,同样 mac,当时看一文章教怎么改系统的 python,差点误入歧途
|
12
BBCCBB Jun 24, 2020
我本来 vim 用的好好的, 后来出现了你说的这种多个 python 环境, 编译 vim 后一直报错.. 我就换 neovim 了.. 蛋疼.
|
13
bytesfold Jun 24, 2020
conda
|
14
nightwitch Jun 24, 2020
这个也不算是 macos 上的问题洛,在 Windows,Linux 上装不同版本的 Python 环境也会碰到一样的问题。
conda/pyenv 解决问题 |
15
itskingname Jun 24, 2020
我写了一篇公众号特别来说明这个问题: https://mp.weixin.qq.com/s/nOUXxAClAZf2Zb4aS3ADww
|
16
Nick66 Jun 24, 2020
我也遇到这个问题
|
17
TOUJOURSER Jun 24, 2020
感觉还是 pyenv 比较自在
|
18
ntdll Jun 24, 2020
这个和系统关系不大了,python 自己的锅,放弃了向下兼容。这一点,不管怎么喷 Java,向下兼容做的是没得黑。
|
19
keepeye Jun 24, 2020
依赖中自带的 python 你又用不到,不影响。
自己 python 环境通过 pyenv + virtualenv 管理吧 |
20
cctv6 Jun 24, 2020 via Android
主要看环境变量 PATH,可以把 brew 的环境变量目录提前,让 brew 下的 python 排在默认的前面,这样在执行的时候就不会指向默认的 python 。
同理,你可以通过修改管理变量来控制运行指定版本的 python 。 |
21
Kobayashi Jun 24, 2020 via Android
这算哪门子暴击,我还以为你强迫症犯了把系统 Python 卸载了。
|
22
seakingii Jun 24, 2020
python 。。真是乱。。光是环境管理就好几套。。
|
23
indev Jun 25, 2020
我也用的 miniconda
|
24
liangch Jun 25, 2020
说好几套的,谁让你同时用了。自己多学习。
|
25
lululau Jun 25, 2020 via iPhone
|
26
arischow Jun 25, 2020 via iPhone
网上乱七八糟的文章很多,想拿来就用的人也不少,对于不熟悉的人是比较困难的。楼主可以综合上面所说的研究一下。
|
27
jiejiss Jun 25, 2020
$ where python
/Users/me/anaconda3/bin/python /usr/local/bin/python /usr/bin/python 首先你 $PATH 里可能就有多个。不在 $PATH 里的可能更多。每次 where 然后手动指定全路径还不如整 conda 或者 venv |
28
linvaux Jun 25, 2020
conda 解君愁
|