起因: 之前安裝了pymongo用來存儲爬取的數據,後來想嘗試用Python操作MySQL,於是需要安裝pymysql的包,結果總是提示我的pip版本問題,我就索性更新了pip。結果,pip更新之後,接下來所有的包的安裝都提示標題中的錯誤:AttributeError: module ‘pip’ has no attribute ‘main’,以下是解決方案:
環境: Mac os系統/python3.5.3
解決方案:
- 更改pakaging_tool.py文件
首先來看錯誤界面:
在黃色高亮區可以看到文件發生錯誤的位置,而我們要做的就是尋着該位置找到packaging_tool.py文件,然後進行更改。
那麼在mac中如何找到對應位置呢,可以按照以下路徑:
① 在Mac的硬盤裏找到“應用程序”文件夾
② 在應用程序裏,找到“pycharm.app”,右擊“顯示包內容”
③ 再根據contents/helpers/packaging_tool.py路徑鎖定目標文件
④ 最後,將原文件:
更改爲:
添加的代碼段爲:
try:
from pip._internal import main
except Exception:
from pip import main
替換packaging_tool.py文件
還有種可能是有些人經過上面的更改之後還是有其他問題,比如會提示“name pip is not defined”,如果你也遇到這樣的問題。可以嘗試用下面的文件替換原來的packaging_tool.py文件
網盤鏈接:https://pan.baidu.com/s/1nWxyOJt-WQGJ0H6G2J6WDg
密碼:nkb3網上似乎還有另外一種辦法,就是降低pip的版本,這個我還沒試過
python -m pip install --upgrade pip==9.0.3