首页 > 解决方案 > Python终端无效的语法Pip

问题描述

您好,我是 Stackflow 的新手,所以请耐心等待我提出这个问题。

今天早些时候,requests 模块在我的 IDLE (3.6.5) 上不起作用,并在 reddit 上询问了一个如何让它工作的问题。但是,我遵循了一个不好的建议,并且可能删除了一些站点包。(https://www.reddit.com/r/learnpython/comments/8xgx1p/no_module_named_requests/

现在,我能够从中恢复,并且 pip 模块运行良好。(例如,如果我尝试在 IDLE 上运行导入请求,它不会给我任何错误)。但是,在终端上,当我尝试运行诸如“pip list”之类的命令时,它给了我无效的语法错误。

有人可以帮助新手吗?

标签: pythonpython-3.xmacosterminal

解决方案


错误来自这一事实/anaconda3/bin/pip意味着您正在运行pipAnaconda 安装的pip命令,而不是您实际想要使用的其他 Python 3.6 安装的命令(中的那个/Library/Frameworks/Python/Versions/3.6)。

我不确定您的 Anaconda 安装是如何损坏的,但如果您不想使用它,卸载它可能比尝试修复它更容易。

这也将为您将来节省很多困惑。安装多个 Python 可能很有用,但如果你没有任何用处,为什么要让自己头疼呢?1

同时,由于所有这些混乱,当您拥有或可能拥有多个 Python 安装时,推荐的运行方式pip不仅仅是pip,而是python3 -m pipor python3 -m pip, or /Library/Frameworks/Python/Versions/3.6/bin/python -m pip。基本上,无论您使用什么命令来运行 Python 本身,都使用相同的命令(-m pip添加)来运行pip.

您可能还想考虑使用虚拟环境。一旦你激活了一个环境,一切都会正常工作,不管你有什么其他的 Python 安装。


1. 不幸的是,在 macOS 上,无论您是否愿意,都预装了 Python 2.7,因此您至少会有两个 Python 版本。但是您通常可以通过确保使用 , 等而不是无后缀版本或使用虚拟环境来避免这种python3情况pip3。此外,如果您的主要 Python 是 3.x 版本,并且您已经安装了它,因此它不需要sudo,因此您永远不会使用sudo,那么您永远不会不小心将某些东西安装到 Apple Python 中而不是您想要的那个——如果你这样做,你会得到权限错误,任何地方都不会安装任何东西。


推荐阅读