python - 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”之类的命令时,它给了我无效的语法错误。
有人可以帮助新手吗?
解决方案
错误来自这一事实/anaconda3/bin/pip
意味着您正在运行pip
Anaconda 安装的pip
命令,而不是您实际想要使用的其他 Python 3.6 安装的命令(中的那个/Library/Frameworks/Python/Versions/3.6
)。
我不确定您的 Anaconda 安装是如何损坏的,但如果您不想使用它,卸载它可能比尝试修复它更容易。
这也将为您将来节省很多困惑。安装多个 Python 可能很有用,但如果你没有任何用处,为什么要让自己头疼呢?1
同时,由于所有这些混乱,当您拥有或可能拥有多个 Python 安装时,推荐的运行方式pip
不仅仅是pip
,而是python3 -m pip
or 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 中而不是您想要的那个——如果你这样做,你会得到权限错误,任何地方都不会安装任何东西。