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