使用spyder寫ui界面時經常出現的一個問題是會手賤pip install PyQt5。這會導緻pip安裝的qt與conda自帶的qt版本不相容,spyder無法識别,進而啟動失敗。用Anaconda Prompt啟動spyder後給出以下報錯資訊:
Traceback (most recent call last):
File "C:\Temp\anaconda3\lib\site-packages\qtpy_init_.py", line 166, in
from PySide import version as PYSIDE_VERSION # analysis:ignore
ModuleNotFoundError: No module named 'PySide'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Temp\anaconda3\Scripts\anaconda-navigator-script.py", line 6, in
from anaconda_navigator.app.main import main
File "C:\Temp\anaconda3\lib\site-packages\anaconda_navigator\app\main.py", lin
e 22, in
from anaconda_navigator.utils.conda import is_conda_available
File "C:\Temp\anaconda3\lib\site-packages\anaconda_navigator\utils_init_.py
", line 15, in
from qtpy.QtGui import QIcon
File "C:\Temp\anaconda3\lib\site-packages\qtpy_init_.py", line 172, in
raise PythonQtError('No Qt bindings could be found')
qtpy.PythonQtError: No Qt bindings could be found
搜尋到的解決方法
- conda update --all
- conda update conda
- conda update anaconda
- conda update anaconda-navigator
- conda update --all
- pip install pyqt5 (I took this from #1581 )
- conda install qt --force (from #9158 )
- conda install pyqt --force (from #9158 )
- 其他從anaconcda\Lib\site-packages下删除PyQt5或重裝anaconda各種版本
嘗試下來上述解決方法均無效
實際解決方法
在已經決定放棄使用anaconda并使用pure python安裝依賴庫的時候,發現安裝PyQt5的時候可以直接從C:\Users\Administrator\AppData\Roaming\Python\下collect PyQt5這個包,是以嘗試将此檔案夾删除,并重裝anaconda,此時成功!