前两天实在厌烦 mac 每天提示更新,升级了系统,升级完一切正常。
因为平时写 python3 都是在 pycharm 或 jupyter,也没意识到有啥问题, 今天需要在终端下运行 python3,突然发现 zsh: command not found: python3。。。
这时候我去了 python3 的路径 /usr/local/Cellar/python3/3.6.1/bin/python3,发现使用./python3 还是能进去的,所以我以为是快捷方式丢了
然后在网上搜索方案,乱试,在文件夹 /usr/local/Cellar/python3/3.6.1/bin/ 执行了 ln -s /usr/local/Cellar/python3/3.6.1/bin/python3 python3, 貌似没什么作用
这时候悲催的发现,我再执行./python3,就进不去了,什么反应都没有,这时候发现 jupyter 和 pycharm 全挂了。。 怎么办啊,求大佬帮忙。
1
geekyoung OP python3 好像莫名奇妙地就没有了入口
|
2
wohenyingyu03 2018-09-15 14:50:23 +08:00 via iPhone
快捷方式什么鬼……环境变量了解下?
|
3
xinhangliu 2018-09-15 14:50:27 +08:00 via Android
没加到路径。在 `.zshrc` 写一行:
``` export PATH="你的 Python 路径:$PATH" ``` |
4
xinhangliu 2018-09-15 14:52:47 +08:00 via Android
或者 `brew link python3`
|
5
geekyoung OP @wohenyingyu03 不好意思 有点急,表述有点错误。。现在是我去了那个目录,执行./python3 也没有反应
|
6
geekyoung OP @xinhangliu
➜ bin ls 2to3-3.6 idle3.6 pydoc3 python3-config python3.6m pyvenv-3.6 easy_install-3.6 pip3 pydoc3.6 python3.6 python3.6m-config wheel3 idle3 pip3.6 python3 python3.6-config pyvenv ➜ bin ./python3 ➜ bin ./python3 ➜ bin |
7
xinhangliu 2018-09-15 14:55:15 +08:00 via Android
@geekyoung 可执行文件都被你变成 link 了,当然没用。重装吧
|
8
geekyoung OP @xinhangliu 你好,现在我去了这个目录,./python3 进不去,这可咋整
|
9
guog 2018-09-15 14:57:14 +08:00 via Android
你在 Python 的 bin 目录执行的那条软连接命令应该会报文件已经存在的错误的。你试下用 brew reinstall python3.6 应该可以
|
11
lostberryzz 2018-09-15 15:01:17 +08:00
brew doctor 看一下
|
12
geekyoung OP @guog 对,当时确实报“文件已经存在的错误”,所以我也感觉这个命令没有执行,但是后来我执行./python3 就进不去控制台了,所以我就很疑惑,我去试试
|
13
geekyoung OP @lostberryzz Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is working fine: please don't worry or file an issue; just ignore this. Thanks! Warning: A newer Command Line Tools release is available. Update them from Software Update in the App Store. Warning: Homebrew's sbin was not found in your PATH but you have installed formulae that put executables in /usr/local/sbin. Consider setting the PATH for example like so echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.zshrc Warning: Broken symlinks were found. Remove them with `brew prune`: /usr/local/bin/docker-credential-osxkeychain.backup /usr/local/bin/hyperkit.backup /usr/local/bin/notary.backup /usr/local/bin/vpnkit.backup /usr/local/etc/bash_completion.d/_brew_services |
14
geekyoung OP @guog
drwxr-xr-x 19 dzzxjl admin 608 4 3 2017 . drwxr-xr-x 13 dzzxjl admin 416 9 10 10:58 .. lrwxr-xr-x 1 dzzxjl admin 56 3 21 2017 2to3-3.6 -> ../Frameworks/Python.framework/Versions/3.6/bin/2to3-3.6 -rwxr-xr-x 1 dzzxjl admin 432 4 3 2017 easy_install-3.6 lrwxr-xr-x 1 dzzxjl admin 53 3 21 2017 idle3 -> ../Frameworks/Python.framework/Versions/3.6/bin/idle3 lrwxr-xr-x 1 dzzxjl admin 55 3 21 2017 idle3.6 -> ../Frameworks/Python.framework/Versions/3.6/bin/idle3.6 -rwxr-xr-x 1 dzzxjl admin 236 5 9 20:23 pip3 -rwxr-xr-x 1 dzzxjl admin 236 5 9 20:23 pip3.6 lrwxr-xr-x 1 dzzxjl admin 54 3 21 2017 pydoc3 -> ../Frameworks/Python.framework/Versions/3.6/bin/pydoc3 lrwxr-xr-x 1 dzzxjl admin 56 3 21 2017 pydoc3.6 -> ../Frameworks/Python.framework/Versions/3.6/bin/pydoc3.6 lrwxr-xr-x 1 dzzxjl admin 55 3 21 2017 python3 -> ../Frameworks/Python.framework/Versions/3.6/bin/python3 lrwxr-xr-x 1 dzzxjl admin 62 3 21 2017 python3-config -> ../Frameworks/Python.framework/Versions/3.6/bin/python3-config lrwxr-xr-x 1 dzzxjl admin 57 3 21 2017 python3.6 -> ../Frameworks/Python.framework/Versions/3.6/bin/python3.6 lrwxr-xr-x 1 dzzxjl admin 64 3 21 2017 python3.6-config -> ../Frameworks/Python.framework/Versions/3.6/bin/python3.6-config lrwxr-xr-x 1 dzzxjl admin 58 3 21 2017 python3.6m -> ../Frameworks/Python.framework/Versions/3.6/bin/python3.6m lrwxr-xr-x 1 dzzxjl admin 65 3 21 2017 python3.6m-config -> ../Frameworks/Python.framework/Versions/3.6/bin/python3.6m-config lrwxr-xr-x 1 dzzxjl admin 54 3 21 2017 pyvenv -> ../Frameworks/Python.framework/Versions/3.6/bin/pyvenv lrwxr-xr-x 1 dzzxjl admin 58 3 21 2017 pyvenv-3.6 -> ../Frameworks/Python.framework/Versions/3.6/bin/pyvenv-3.6 -rwxr-xr-x 1 dzzxjl admin 395 4 3 2017 wheel3 |
15
geekyoung OP @xinhangliu 你好,我那条语句应该没有执行成功吧??
|
16
enjoyCoding 2018-09-15 17:16:04 +08:00 via Android
重启试一下 删掉重装试一下
|
17
reus 2018-09-15 17:18:03 +08:00
mac 不也一样折腾。
|
18
leconio 2018-09-15 18:23:02 +08:00 via Android
我记得 ln -s 两个路径必须是绝对路径
|
19
coderfox 2018-09-16 20:20:49 +08:00
ln
Creates links to files and folders. - Create a symbolic link to a file (or folder): ln -s path/to/file path/to/symlink 你命令写反了,重装吧 |
20
neoblackcap 2018-09-16 23:33:07 +08:00 1
升级了之后 3.6.1 之类的版本变了,导致 shell 无法从 PATH 里面找到 python3,你要不创建一个软连接,要不将现有的 python3 目录加到你的 PATH 变量中去。
至于你的 pycharm 里面环境无效了也是一样的道理,他们都是用的绝对路径,绝对路径指向的 python3 没有了,当然报错,你可以重新创建一个虚拟环境,或者用上面所述的创建软连接的方法替代 |
21
geekyoung OP @neoblackcap 已重装,下次注意,谢谢。请问“升级了之后 3.6.1 之类的版本变了”怎么理解?
|
22
neoblackcap 2018-09-17 12:05:01 +08:00
@geekyoung 就是 3.7 的 python 不会在 /usr/local/Cellar/python3/3.6.1/bin/,brew 将旧的卸载了,但是你之前的路径是写的绝对路径,新的 3.7 是在 /usr/local/Cellar/python3/3.7.1/bin/之类的路径嘛
|