簡體   English   中英

pip3.4 -V 指的是python2.7安裝

[英]pip3.4 -V refers to python2.7 installation

編輯改寫的問題以減少誤導

pip3 和 pip2 之間有區別嗎? pip2 -Vpip3-V都產生輸出

來自 /usr/lib/python2.7/site-packages (python 2.7) 的 pip 7.1.0

下面的老問題

我已經看到使用 pip3 設置 python3 virtualenv 的建議,但是當我輸入時

pip3.4 -V

我得到輸出

pip 7.1.0 from /usr/lib/python2.7/site-packages (python 2.7)

這與我從pip -Vpip2 -V獲得的輸出完全相同。 我的 python3 安裝工作正常。 這是怎么回事? pip、pip2 和 pip3,實際上是同一個東西嗎? 畢竟https://pip.pypa.io/en/stable/index.html ,只提到了 pip。 更奇怪的是,在我的/usr/bin文件夾中,我可以看到我的 pip3 比我的 pip3.4 二進制文件舊——這解釋了為什么pip3 -V失敗

pkg_resources.DistributionNotFound: pip==1.5.6

那么交易是什么? pip3 語法是多余的,還是我的系統有問題? 我使用opensuse 13.2

在Debian中,我在/usr/local/bin中發現了三個短文件:pip; pip3; 和 pip3.4。 都是一樣的:

#!/usr/bin/python

# -*- coding: utf-8 -*-
import re
import sys

from pip import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

通過將 pip3(使用 sudo)的第一個 shebang 行更改為

#!/usr/bin/python3

然后確保原始 pip 是明確的

#!/usr/bin/python2

我所有類似的困惑和錯誤都消失了。

我在 EC2 上遇到了同樣的問題,終於找到了解決方案。 您可以通過以下方式使用它-

python3 -m pip <install> <library>

在 pip 從正確位置調用 pip3 之前添加 python3 -m 。 您可以按如下方式檢查其位置-

python3 -m pip -V
pip 19.0.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)

重新安裝python3-pip (opensuse package) pip3 -Vpip3.4 -V產生正確的輸出

pip 7.1.0 from /usr/lib/python3.4/site-packages (python 3.4)

我實際上也在這個過程中卸載了 pip2 並且奇怪地用python get-pip ( get-pip ) 重新安裝了 pip2 改變了我新工作的 pip3.4 再次指向 python2 站點包。 我只是通過刪除錯誤的 pip3.4 並創建指向 pip3 的符號鏈接來更改

您可以使用--python=python3標志來指定要使用的 Python 版本。

我也面臨着同樣的問題,以下別名有幫助。

別名 pip3="python3 -m pip"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM