首頁>Program>source

在os x上pip出現奇怪的問题。

据我所記得(並且快速瀏覽了.bash_history似乎可以確认),我没有對配置进行任何最新更改. las,pip命令似乎突然使用了与以前不同的python版本.到目前為止,我一直在使用命令pip管理我的python2庫,並使用pip3命令通過python3庫进行管理.突然,任何執行pip安裝的尝試都会失败,並出現诸如print語句週圍缺少括號的錯誤。

這是我尝試找出問题的一些命令的結果:

which pip > /usr/local/bin/pip
which pip3 > /usr/local/bin/pip3
which python > /usr/local/bin/python
python version > Python 2.7.11
pip --version > pip 8.1.1 from /usr/local/lib/python3.5/site-packages (python 3.5)

因此由於某種原因,pip命令似乎正在从PyPi2資料庫執行,但是現在在python3中執行? 有什麼想法解決此問题吗?

最新回復
  • 11天前
    1 #

    我執行多个Python版本,因此也執行了多个pip版本。

    但是,每次您更新pip時,都会替換標準的 pip 命令与您更新的版本.所以就连 pip3 install --upgrade pip 將把一个 /usr/local/bin/pip 在您的系統中,弄亂了Python 2版本。

    相反,我將pip作為(可執行)模組執行:

    python3 -m pip search <package>
    

    python2 -m pip search <package>
    

    甚至

    python3.5 -m pip search <package>
    

    這可以確保您的 pip 版本始终与您要使用的Python版本匹配.它的键入時間更长一些,但我更類似它的顯式性(我猜它遵循Python的zen)。

    請註意,更新點數:

    python3.5 -m pip install --upgrade pip
    

    仍將在 /usr/local/bin/pip中安裝Python 3.5版本 ,但我只是忽略了這一點.只是当心執行 pip的(shell)指令碼

  • 11天前
    2 #

    我遇到了完全一樣的問题!

    我通過brew brew reinstall [email protected]重新安裝python2

    重新安裝後, pip install packagename 可以!

  • 11天前
    3 #

    尝試通過在终端中執行以下命令来設置別名,

    alias pip="/usr/local/bin/pip"
    alias pip2="/usr/local/bin/pip"
    alias pip3="/usr/local/bin/pip3"
    

    如果這解決了您的問题,那麼您需要在bash配置檔案中添加別名。 看看如何建立Bash別名? 有關更多資訊。

    或者,您必须使用 python2 get-pip.py重新安裝pip 首先,然後 python3 get-pip.py 可以在此處下載get-pip.py https://bootstrap.pypa.io/get-pip.py

  • 11天前
    4 #

    找到您要使用的Python的绝對路徑:

    which python
    

    打開預設的pip可執行指令碼:

    vi $(which pip)
    

    您会在頂部看到一个shebang行,该行可能指向錯誤的Python(我也有過)。

    指向所需的Python(請參阅第1步),例如:

    #!/usr/local/bin/python3.7
    

  • testing:自定義TestNG可通過電子郵件發送報告的摘要部分
  • java:我如何改善我的junit測試