使用pip安裝特定的軟體包版本

2021-10-01 18:50:15 字數 3571 閱讀 9993

我正在嘗試使用通過--no-site-packages選項建立的新virtualenv安裝mysql_python介面卡的1.2.2版本。 pypi中顯示的當前版本是1.2.3 。 有沒有辦法安裝舊版本? 我發現有一篇文章指出應該這樣做:

pip install mysql_python==1.2.2
但是,安裝後,它仍在站點包中顯示mysql_python-1.2.3-py2.6.egg-info。 這是此軟體包專用的問題,還是我做錯了什麼?

您甚至可以通過pip install命令使用版本範圍。 像這樣:

pip install 'stevedore>=1.3.0,<1.4.0'
並且如果該軟體包已經安裝並且您想要降級,請新增--force-reinstall如下所示:

pip install 'stevedore>=1.3.0,<1.4.0' --force-reinstall
一種方法,在提出這個職位 ,是提版本pip為:

pip install -iv mysql_python==1.2.2
即使用==並提及版本號以僅安裝該版本。-i, --ignore-installed忽略已安裝的軟體包。

要安裝特定的python軟體包版本,無論是第一次,公升級還是降級,請使用:

pip install --force-reinstall mysql_python==1.2.4
mysql_python版本1.2.2不可用,因此我使用了其他版本。 要從索引檢視所有可用的軟體包版本,請排除該版本:

pip install mysql_python==
由於這似乎是pip版本10中引入的重大更改,因此我降級為相容版本:

pip install 'pip<10'
此命令告訴pip安裝低於版本10的模組版本。在virutalenv中執行此操作,這樣就不會增加python的站點安裝速度。

我相信,如果您已經安裝了軟體包,則pip不會用其他版本覆蓋它。 使用-i忽略以前的版本。

首先,我發現您要執行的操作有兩個問題。 由於已經安裝了版本,因此應該解除安裝當前現有的驅動程式或使用pip install -i mysql_python==1.2.2

但是,您很快就會發現這不起作用。 如果檢視pip的安裝日誌,或者進行pip install -iv mysql_python==1.2.2您會發現pypi url鏈結不適用於mysql_python v1.2.2。 您可以在這裡驗證: http :

因此,要正確安裝驅動程式,可以按照以下步驟操作:

pip uninstall mysql_python

pip install -iv

您可以通過兩種方式安裝任何版本的軟體包:-a)。pip install -iv軟體包名稱==版本b)。pip install -v軟體包名稱==版本

為乙個

在這裡,如果您在安裝時使用-i選項(當您不知道軟體包是否已安裝時)(例如'pip install -iv pyreadline == 2. *或類似的東西),則您將安裝新的單獨的程式包,而相同的現有程式包具有不同的版本。

對於b

首先,您可能要檢查是否有違反要求的情況。點子檢查

2.然後檢視點子列表已經安裝了什麼

3.如果軟體包列表中包含您要安裝的特定版本的軟體包,那麼更好的選擇是先通過pip uninstall package-name解除安裝該版本的軟體包。

4.現在,您可以繼續通過pip install -v package-name == version重新安裝具有特定版本的相同軟體包,例如pip install -v pyreadline == 2. *

有時,先前安裝的版本會被快取。

~$ pip install pillow==5.2.0
它返回以下內容:

已滿足要求:/home/ubuntu/anaconda3/lib/python3.6/site-packages(5.2.0)中的pillow == 5.2.0

我們可以將--no-cache-dir與-i一起使用來覆蓋它

~$ pip install --no-cache-dir -i pillow==5.2.0
我最近在使用pip-i標誌時遇到了乙個問題,我想在某處進行記錄:

-i在繼續之前,-i不會解除安裝現有軟體包; 它將僅安裝在舊版本的頂部。 這意味著應將兩個版本之間應刪除的所有檔案保留在原處。 如果這些檔案與其他已安裝模組共享名稱,則可能導致奇怪的行為。

例如,假設有乙個名為package。 在package的乙個檔案中,它們使用import datetime。 現在,在[email protected],它指向標準庫datetime模組,但是在[email protected],他們新增了本地datetime.py來替代標準庫版本(無論出於何種原因)。

現在可以說我執行pip install package==3.0.0,但是後來意識到我實際上想要的版本是2.0.0。 如果現在執行pip install -i package==2.0.0則不會刪除舊的datetime.py檔案,因此任何import datetime呼叫都會匯入錯誤的模組。

就我而言,這表現為奇怪的語法錯誤,因為該軟體包的較新版本新增了僅與python 3相容的檔案,並且當我將軟體包版本降級以支援python 2時,我繼續匯入僅python-3模組。

基於此,我認為在更新已安裝的軟體包版本時,總是比使用-i解除安裝舊軟體包總是更好。

如果要更新為最新版本,但您不知道可以輸入的是最新版本。

pip安裝mysql_python --upgrade

這將更新可用的最新版本的mysql_python,您可以將其用於任何其他軟體包版本。

下面的命令對我有用

python版本-2.7

包-python-jenkins

命令-$ pip install 'python-jenkins>=1.1.1'

docker出現pip無法安裝軟體包

run pip install r requirements.txt收到錯誤 step 3 run pip install r requirements.txt running in fe0b84217ad1 collecting blinker 1.3 from r requirements.tx...

軟體包安裝

指令碼安裝包,c語言源 開源 編譯時間長。lamp環境搭建 linux apache mysql php 效率高 mnt cdrom packagehttpd 2.2.15 15.el6.centos.1.i686.rpm httpd 軟體名 2.2.15 軟體版本 15 軟體發布次數 el6.ce...

軟體包的安裝與使用

keeping the network normal 出現依賴問題 sudo apt get install f 獲取root許可權 sudo su首先安裝 系統自帶的 alien 包 終端 su 輸入密碼 進入root 使用者 sudo apt get install alien 這樣 alien...