簡體   English   中英

Pipenv 卡住“⠋ 正在鎖定...”

[英]Pipenv stuck "⠋ Locking..."

為什么我的 pipenv 在安裝 [numpy|opencv|pandas] 時卡在“鎖定...”階段?

當運行pipenv install pandaspipenv update時,它會掛起很長時間,並顯示一條消息和加載屏幕,表明它仍在鎖定。 為什么? 我需要做什么?

正在安裝您的軟件包並且正在構建您的輪子

也許更好的術語來描述這種狀態是“構建和鎖定......”或類似的東西。

如果您正在安裝 numpy、opencv、pandas 或其他大型軟件包,則特別有可能發生這種情況。

后台發生的事情是pipenv正在下載您的軟件包,並且可能正在構建輪子。

在這種情況下,補救措施通常是給予足夠的耐心。

什么是鎖定?

要了解有關 pipenv 上下文中“鎖定”的更多信息,您可以在此處閱讀更多內容: https ://pipenv.kennethreitz.org/en/latest/basics/#pipenv-lock

$ pipenv lock 用於創建 Pipfile.lock,它聲明項目的所有依賴項(和子依賴項)、它們的最新可用版本以及下載文件的當前哈希值。 這確保了可重復的,最重要的是確定性的構建。

然而,有些時候,它只是一個緩慢的/大的安裝,但不是與您的問題Pipfile[.lock] 如果您相當確定這是問題所在,請嘗試pipenv lock --clear並重新運行您的pipenv install命令,還可以查看此線程以獲取更多信息。

我剛才遇到了這種情況。 Pipenv 一直卡在鎖定狀態,20 多分鍾看不到盡頭,而且pipenv --rm也無濟於事。

最后,問題是我運行pipenv install "boto3~=1.21.14"以從boto3 = "==1.17.105"升級 boto3。 但我還有其他相互沖突的要求(在我的例子中, botocore = "==1.20.105"s3transfer = "==0.4.2" ),它們是 boto3 依賴項。 新版本的 boto3 需要這兩個包的更新版本,但==要求不允許這樣做。 Pipenv 沒有對此進行解釋,只是一直旋轉着“正在鎖定……”。

所以如果你遇到這種情況,我建議你仔細查看你的 Pipenv 包,看看是否有任何明顯的沖突,並在可能的情況下放寬或刪除 package 要求。

就我而言,我能夠從列表中完全刪除 s3transfer 和 botocore 包,並依靠 boto3 來獲取必要的版本。

這是 pipenv https://github.com/pypa/pipenv/issues/3827 的一個懸而未決的問題

我建議回到 pip

對於嘗試將pipenv與工作目錄中現有的requirements.txt文件一起使用的人,您可能會發現這篇Github 帖子很有幫助。

注意:在嘗試我展示的pipenv --rm之前,我還使用了pipenv --rm

HTH ;) PS 這是對Zebradil 的腳本大喊大叫,以創建一個requirements.txt ,以防您與不使用pipenv其他人合作。

嘗試做pipenv --rm - 刪除虛擬環境

然后pipenv shell - 這將再次啟動虛擬環境

然后pipenv install再次安裝所有包

為我工作

暫無
暫無

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

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