数か月前にAnacondaの一部としてWindows7ラップトップにPython 3.4をインストールしました( https://www.continuum.io/downloads )。インストールにはSpyder IDE、そして私はPythonプログラミングのためにSpyderをうまく使っています。
しかし、昨日からSpyderを開くことができませんでした。私は通常、スタートメニューからSpyderを開きますが、スタートメニューのSpyderアイコンをクリックしようとしても、応答がありません。次に、AnacondaがインストールされているディレクトリのScriptsフォルダーにあるspyder.exeファイルに直接移動しようとしました。これを初めてクリックすると、次のメッセージがすばやく点滅して消えました。
Traceback (most recent call last):
File "C:\Users\Aniket\Anaconda3\Scripts\spyder-script.py". line 2, in <module>
start_app.main()
File "C:\Users\Aniket\Anaconda3\lib\site-packages\spyderlib\start_app.py", line 114, in main
from spyderlib import spyder
File "C:\Users\Aniket\Anaconda3\lib\site-packages\spyderlib\spyder.py", line 100 in <module>
File "C:\Users\Aniket\Anaconda3\lib\site-packages\spyderlib\qt\QtSvg.py", line 10 in <module>
from PyQt4.QtSvg import * # analysis:ignore
ImportError:DLL load failed: The specified module could not be found
Spyder.exeをもう一度ダブルクリックすると、次のメッセージが表示されました。
kfile.py", line 146 in lock
symlinke(str(os.getpid()), self.name)
File "C:\Users\Aniket\Anaconda3\lib\site-packages\spyderlib\utils\external\lockfile.py", line 87, in symlink
os.rmdir(newlinkname)
OSError: [WinError 145] The directory is not empty: 'C:\\Users\\Aniket\\.spyder2-py3\\spyder.lock.1459432906109.newlink'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Aniket\Anaconda3\Scripts\spyder-script.py". line 2, in <module>
start_app.main()
File "C:\Users\Aniket\Anaconda3\lib\site-packages\spyderlib\start_app.py", line 106, in main
from spyderlib import spyder
File "C:\Users\Aniket\Anaconda3\lib\site-packages\spyderlib\spyder.py", line 100 in <module>
File "C:\Users\Aniket\Anaconda3\lib\site-packages\spyderlib\qt\QtSvg.py", line 10 in <module>
from PyQt4.QtSvg import * # analysis:ignore
ImportError:DLL load failed: The specified module could not be found
これらのメッセージは両方とも非常に速く点滅した後、消えました。表示されたらPrintScreenをすばやく押してメッセージをキャプチャしました。エラーメッセージが何を意味するのか、また何がこれを引き起こしたのかは私にはわかりません。一部の関数の実行中にSpyderを閉じたか、Spyderがクラッシュして永続的なエラーが発生した可能性があります。誰かが私がこれを修正する方法を知っていますか?
私はこれが古いスレッドであることを知っていますが、同じ問題を抱えていたので、私のために働いた答えが https://github.com/spyder-ide/spyder/issues/3005
私の問題は、スパイダーのステータスがまだ実行されているため、開かないことであるように見えました。これを修正するには、Users \ディレクトリで.spyder2というディレクトリを探し、spyder.lockというファイルを見つけて削除する必要があります。
Spyder2が起動しないという同様の問題がありました。私のインストールは、Win764ビットOS上のAnacondaの一部です。ここで概説したすべての解決策と ここ を試しましたが、うまくいきませんでした。コマンドラインから、スパイダーをリセットしようとすると、次のエラーが発生しました。
U:\>python -c "from spyderlib.spyder import main; main()" --reset
Traceback (most recent call last):
File "C:\Temp\pApps\Anaconda3\lib\site-packages\spyderlib\qt\__init__.py", line 48, in <module> from PySide import __version__ # analysis:ignore
ImportError: No module named 'PySide'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Temp\pApps\Anaconda3\lib\site-packages\spyderlib\requirements.py", line 40, in check_qt from spyderlib import qt File "C:\Temp\pApps\Anaconda3\lib\site-packages\spyderlib\qt\__init__.py", line 50, in <module>
raise ImportError("Spyder requires PySide or PyQt to be installed")
ImportError: Spyder requires PySide or PyQt to be installed
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Temp\pApps\Anaconda3\lib\site-packages\spyderlib\spyder.py", line 48, in <module> requirements.check_qt()
File "C:\Temp\pApps\Anaconda3\lib\site-packages\spyderlib\requirements.py", line 50, in check_qt % (qt_infos['pyqt']+qt_infos['pyside']))
File "C:\Temp\pApps\Anaconda3\lib\site-packages\spyderlib\requirements.py", line 25, in show_warning
raise RuntimeError(message)
RuntimeError: Please check Spyder installation requirements:
PyQt4 4.6+ (or PySide 1.2.0+) is required.
私を驚かせたのは、スパイダーが昨日まで正常に機能していたことでした。昨日、次のように完全な更新を行いました。
conda update --all
そこで、今日もスパイダーを次のように更新しました。
conda update spyder
そして、次のパッケージプランが私に提示されました:次のパッケージが更新されます:
spyder: 2.3.7-py35_3 None://None/<unknown> --> 2.3.8-py35_1
spyder-app: 2.3.7-py35_0 --> 2.3.8-py35_0
The following packages will be DOWNGRADED due to dependency conflicts:
matplotlib: 1.5.3-np111py35_1 --> 1.5.1-np111py35_0
pyqt: 5.6.0-py35_0 --> 4.11.4-py35_7
qt: 5.6.0-vc14_0 [vc14] --> 4.8.7-vc14_9
[vc14]
qtconsole: 4.2.1-py35_2 --> 4.2.1-py35_0
更新後、spyderは正常に動作するようになりました。本質的に、私の問題は依存関係の競合によるものでした。
数日前とまったく同じ問題があり、再インストールが機能しないため、次の場所に移動しました。
C:\Users\'YourName'\\.spyder2-py3
すべてのスパイダーを削除し、その中のファイル/フォルダーをロックして再起動します。
以前とまったく同じエラーメッセージが表示されたので、anacondaの下にspyderを再度インストールして修正しました。
conda install spyder
それはあなたがチェックすることができるPyQt4.dllが欠落していると言っています:あなたのanaconda3ディレクトリでpyqt4を検索してください。いくつかの可能性があります:
つまり、pythonはこのディレクトリを検索していないため、見つけることができません。コードを微調整したことになるので、その可能性は非常に疑わしいです。
たぶん、あなたまたはあなたのプログラムの1つが事故ごとにそれを削除した可能性がありますか?
ファイルが移動されたことを意味するので、この可能性も疑っています...
ただし、xuweiが述べたように、スパイダーを再インストールすることで修正できます。