mac python3 莫名丢失,求大神帮忙

2018-09-15 14:44:53 +08:00
 geekyoung

前两天实在厌烦 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 全挂了。。 怎么办啊,求大佬帮忙。

3170 次点击
所在节点    程序员
22 条回复
geekyoung
2018-09-15 14:49:45 +08:00
python3 好像莫名奇妙地就没有了入口
wohenyingyu03
2018-09-15 14:50:23 +08:00
快捷方式什么鬼……环境变量了解下?
xinhangliu
2018-09-15 14:50:27 +08:00
没加到路径。在 `.zshrc` 写一行:
```
export PATH="你的 Python 路径:$PATH"
```
xinhangliu
2018-09-15 14:52:47 +08:00
或者 `brew link python3`
geekyoung
2018-09-15 14:53:14 +08:00
@wohenyingyu03 不好意思 有点急,表述有点错误。。现在是我去了那个目录,执行./python3 也没有反应
geekyoung
2018-09-15 14:55:11 +08:00
@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
xinhangliu
2018-09-15 14:55:15 +08:00
@geekyoung 可执行文件都被你变成 link 了,当然没用。重装吧
geekyoung
2018-09-15 14:55:46 +08:00
@xinhangliu 你好,现在我去了这个目录,./python3 进不去,这可咋整
guog
2018-09-15 14:57:14 +08:00
你在 Python 的 bin 目录执行的那条软连接命令应该会报文件已经存在的错误的。你试下用 brew reinstall python3.6 应该可以
guog
2018-09-15 14:58:58 +08:00
@guog ls -al 看下文件
lostberryzz
2018-09-15 15:01:17 +08:00
brew doctor 看一下
geekyoung
2018-09-15 15:06:27 +08:00
@guog 对,当时确实报“文件已经存在的错误”,所以我也感觉这个命令没有执行,但是后来我执行./python3 就进不去控制台了,所以我就很疑惑,我去试试
geekyoung
2018-09-15 15:07:21 +08:00
@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
geekyoung
2018-09-15 15:10:47 +08:00
@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
geekyoung
2018-09-15 15:12:27 +08:00
@xinhangliu 你好,我那条语句应该没有执行成功吧??
enjoyCoding
2018-09-15 17:16:04 +08:00
重启试一下 删掉重装试一下
reus
2018-09-15 17:18:03 +08:00
mac 不也一样折腾。
leconio
2018-09-15 18:23:02 +08:00
我记得 ln -s 两个路径必须是绝对路径
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

你命令写反了,重装吧
neoblackcap
2018-09-16 23:33:07 +08:00
升级了之后 3.6.1 之类的版本变了,导致 shell 无法从 PATH 里面找到 python3,你要不创建一个软连接,要不将现有的 python3 目录加到你的 PATH 变量中去。
至于你的 pycharm 里面环境无效了也是一样的道理,他们都是用的绝对路径,绝对路径指向的 python3 没有了,当然报错,你可以重新创建一个虚拟环境,或者用上面所述的创建软连接的方法替代

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

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

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

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

© 2021 V2EX