pip更新及Requirement already up-to-date解決方法

pip更新及Requirement already up-to-date解決方法

文:鐵樂與貓

2018-9-11

更新命令

  • 將pip更新到最新版本
python -m pip install --upgrade pip
  • Anaconda更新命令爲
conda install mingw libpython

Requirement already up-to-date

在pycharm的虛擬環境中,特別容易出現運行更新pip的命令後,提示要求己經更新,但實際上查看版本還是沒更新成功的情況:

(venv) E:\Flask\BaiduAI>pip --version
pip 9.0.1 from e:\flask\baiduai\venv\lib\site-packages\pip-9.0.1-py3.6.egg (python 3.6)

(venv) E:\Flask\BaiduAI>python -m pip install --upgrade pip
Requirement already up-to-date: pip in e:\flask\baiduai\venv\lib\site-packages (18.0)

(venv) E:\Flask\BaiduAI>pip --version
pip 9.0.1 from e:\flask\baiduai\venv\lib\site-packages\pip-9.0.1-py3.6.egg (python 3.6)

直接使用pip install --upgrade pip命令還會出現權限不足的報錯:


(venv) E:\Flask\BaiduAI>pip install --upgrade pip
Cache entry deserialization failed, entry ignored
Collecting pip
  Using cached https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf94
0/pip-18.0-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 9.0.1
    Uninstalling pip-9.0.1:
Exception:
Traceback (most recent call last):
  File "D:\PortableSoft\Python36\lib\shutil.py", line 544, in move
    os.rename(src, real_dst)
OSError: [WinError 17] 系統無法將文件移到不同的磁盤驅動器。: 'e:\\flask\\baiduai\\venv\\scripts\\pip.exe' -> 'C:\\Users\
\ADMINI~1\\AppData\\Local\\Temp\\pip-76ifpsoa-uninstall\\flask\\baiduai\\venv\\scripts\\pip.exe'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "e:\flask\baiduai\venv\lib\site-packages\pip-9.0.1-py3.6.egg\pip\basecommand.py", line 215, in main
  File "e:\flask\baiduai\venv\lib\site-packages\pip-9.0.1-py3.6.egg\pip\commands\install.py", line 342, in run
  File "e:\flask\baiduai\venv\lib\site-packages\pip-9.0.1-py3.6.egg\pip\req\req_set.py", line 778, in install
  File "e:\flask\baiduai\venv\lib\site-packages\pip-9.0.1-py3.6.egg\pip\req\req_install.py", line 754, in uninstall
  File "e:\flask\baiduai\venv\lib\site-packages\pip-9.0.1-py3.6.egg\pip\req\req_uninstall.py", line 115, in remove
  File "e:\flask\baiduai\venv\lib\site-packages\pip-9.0.1-py3.6.egg\pip\utils\__init__.py", line 267, in renames
  File "D:\PortableSoft\Python36\lib\shutil.py", line 559, in move
    os.unlink(src)
PermissionError: [WinError 5] 拒絕訪問。: 'e:\\flask\\baiduai\\venv\\scripts\\pip.exe'

這簡直是死循環了,使用python -m pip install --upgrade pip -vvv

報了一大堆信息,然而也沒有什麼卵用。

後來細想有可能是因爲我之前是使用pycharm嘗試升級虛擬環境裏的pip版本,顯示是成功升級到18.0了的緣故。

有及於此,最後我是跑到E:\Flask\BaiduAI\venv\Lib\site-packages 目錄下查看,發現了在沒有安裝成功18.0版本的時候此目錄下就己存在pip-18.0.dist-info,有毛病。

於是大膽嘗試將pip-18.0.dist-info目錄刪除後,繼續在虛擬環境下重新更新pip,終於成功!

(venv) E:\Flask\BaiduAI>python -m pip install --upgrade pip
Collecting pip
  Using cached https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf94
0/pip-18.0-py2.py3-none-any.whl
Installing collected packages: pip
Successfully installed pip-18.0

(venv) E:\Flask\BaiduAI>pip --version
pip 18.0 from e:\flask\baiduai\venv\lib\site-packages\pip (python 3.6)

這個報錯告訴我,儘量選擇在cmd命令行下手動更新pip或其它軟件包,而不要選擇在pycharm的界面下直接用鼠標點升級……

【end】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章