【问题标题】:pip and Python in different pathspip 和 Python 在不同的路径
【发布时间】:2016-05-12 00:55:31
【问题描述】:

我在安装 Python 包时遇到了一些问题,然后我注意到 pip 和 Python 位于不同的位置,这可能是问题所在。如何将它们对齐?

Macintosh:~ Ryan$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
Macintosh:~ Ryan$ which pip
/Library/Frameworks/Python.framework/Versions/3.5/bin/pip

Macintosh:~ Ryan$ python -V
Python 2.7.11
Macintosh:~ Ryan$ pip -V
pip 8.1.2 from /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (python 3.5)

我希望所有东西都使用 2.7,并希望修复这个问题可以阻止我在尝试安装这样的某些包时收到这么多错误/通知:

Macintosh:~ Ryan$ pip install json
Collecting json
  Could not find a version that satisfies the requirement json (from versions: )
No matching distribution found for json

【问题讨论】:

  • 好吧,首先,json 是 stdlib 的一部分,因此不可 pip 安装。
  • @MattDMo 谢谢——Python 新手,所以也许我只是不知道它们之间的区别?虽然恢复匹配的路径很重要吗?
  • 我正在为此写一个答案。你有什么特别的原因要使用 Python 2 来处理所有事情吗?
  • @MattDMo 不是——我只是一个初学者,我通过 CodeAcademy 学习了基础知识,他们用 Python 2 教授它,所以我认为这是最好的选择。愿意使用任何更高级的人认为我应该使用的东西——只是不想因为我不完全理解的小改动而破坏。
  • 好的,不确定你是如何安装 2.6 的。无论如何,我会推荐使用 virtualenvs,大多数来到 python 的人最终都会因为多次安装和事情变得混乱而头疼,virtuaenv 也与你的系统 python 隔离,这对于一个正常工作的操作系统来说非常重要,所以搞砸了它可能会非常昂贵docs.python-guide.org/en/latest/dev/virtualenvs。 pyenv 也是另一个不错的选择github.com/yyuu/pyenv,只需激活您要使用的任何版本

标签: python macos terminal pip


【解决方案1】:

如果你想为 2.7 设置 pip,只需下载 get-pip.py 并运行

sudo /Library/Frameworks/Python.framework/Versions/2.7/bin/python get-pip.py

它会为你安装pippip2 到与python 可执行文件相同的bin 目录中。您应该仍然可以使用pip3pip-3.5 为Python 3 安装包。

【讨论】:

  • 谢谢!我必须先将 get-pip.py 放在该文件夹中吗?现在它在我的桌面上。如果我按原样运行,我不会收到任何错误,但看起来路径仍然不匹配。同样基于您上面的回答,我想我愿意通过使用 3 来匹配 Python?
  • @Ryan 您不必移动get-pip.py,只需使用终端并导航到您的桌面文件夹,然后运行上面的命令。如果你想使用 Python 3 作为你的主要 Python 版本,你不应该做任何事情,只要记住在终端中运行它时写 python3 my_file.py。正如您在问题中指出的那样,pip 已经为 Python 3 设置好了。是现在设置为 2,还是稍后在探索 2 和 3 之间的差异时进行设置,由您选择。
  • 再次感谢 - 它说 UserWarning: Module pip was already imported from /tmp/tmpQS4RbJ/pip.zip/pip/__init__.py, but /Library/Python/2.7/site-packages/pip-7.1.0-py2.7.egg is being added to sys.path 而当我这样做时 which pip 它仍然说 /Library/Frameworks/Python.framework/Versions/3.5/bin/pip
  • @Ryan 你使用了我在回答中给出的完整命令,还是只使用了sudo python get-pip.py
  • 我去了 cd desktop(我的 get-pip.py 文件所在的位置)然后运行 ​​sudo /Library/Frameworks/Python.framework/Versions/2.7/bin/python get-pip.py(输入我的密码)并发回了一些我收到的消息。
猜你喜欢
  • 1970-01-01
  • 2019-04-03
  • 2012-05-14
  • 1970-01-01
  • 2015-12-07
  • 2021-08-22
  • 2017-02-23
  • 2019-07-17
  • 2020-04-28
相关资源
最近更新 更多