【问题标题】:PIP3 associated with the wrong python versionPIP3 与错误的 python 版本相关联
【发布时间】:2019-08-25 11:27:19
【问题描述】:

我知道这种问题已经被问过很多次了。我什至发现了这个几乎相同的问题:How to use pip3 for python 3.6 instead of python 3.5? 但我仍然没有解决我的问题。我正在使用 os x。

我有三个版本的 python:2.7、3.6 和 3.7。

python --version
Python 2.7.10

python3 --version
Python 3.7.4

但如果我这样做了

pip3 --version
pip 9.0.1 from /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (python 3.6)

我不知道为什么 pip3 指向 3.6 而不是 3.7(而 python3 给我 3.7)

如果我这样做了

python3 
import site; site.getsitepackages()

我有

['/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages']

PIP3 指向 python 3.6 而不是 3.7。如何让它指向 python 3.7?

我尝试将 python3 添加到路径中,但无济于事。我不想卸载 python 3.6。

【问题讨论】:

  • 如果你运行pip3.7 --version会发生什么?
  • pip3.7 --version -bash: pip3.7: 找不到命令
  • 如果你已经通过 Homebrew (brew install python/python3) 安装了 Python 3.7,那么应该安装 pip3.7。检查brew doctor 是否有错误。

标签: python macos pip


【解决方案1】:

养成使用以下的习惯;

python -m pip install <package> # and you will be sure to have the package attached with the right version of python

例如:-

$ python3 -m pip install requests

【讨论】:

  • 感谢您。但是如果我仍然希望 pip3 --version 与 pyhthon 3.7 而不是 3.6 相关联呢?
  • 没有必要这样做。但一切皆有可能。如果您的发行版提供了最新的python3-pip,您可以在安装最新的python3-pip 后对其进行符号链接。但是将-m 选项与pip 模块一起使用正是它存在的原因。它确保你的包与正确的 python 绑定:)
  • 听从 han 的建议,尽可能避免使用 pippip3 或任何脚本。更喜欢使用 pip 的可执行模块:path/to/pythonX.Y -m pip。更多背景信息:snarky.ca/why-you-should-use-python-m-pip
【解决方案2】:
$ which pip3
/usr/bin/pip3 

$ nano /usr/bin/pip3

在文件的第一行,你应该看到

#!/usr/bin/python3

只要改成你想要的python版本就行了。

#!/usr/bin/python3.7
or
#!/usr/bin/python3.8

保存。完成!

【讨论】:

    【解决方案3】:

    我最终在 bash_profile 中使用了它

    alias pip3='/usr/local/bin/python3 -m pip'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-09
      • 2017-08-21
      • 1970-01-01
      • 2023-04-09
      • 2013-09-30
      • 2012-07-12
      • 2017-12-04
      • 1970-01-01
      相关资源
      最近更新 更多