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】