風待ち

プログラミングの勉強や日々の出来事のログなど

Windows7の32bitにWinPythonを入れてJupyter Notebookを使ってみようと思うも「ImportError: DLL load failed: 指定されたモジュールが見つかりません。」と出て起動してくれない時に解決した方法

Windowsでお手軽にPythonを始めるためにWinPythonをインストールした。

インストーラーはGithubからWinPython-32bit-3.5.4.1Qt5.exをダウンロードしてくる。

インストール先はわかりやすいように「C:\WinPython」にした。

その後、インストールしたフォルダの中に入っている「WinPython Control Panel.exe」をダブルクリックで起動し、

Advanced -> Register distribution...

をクリックして、なんかメッセージがでるので、「Yes」をクリック。

次に

コントロールパネル -> システム -> システムの詳細設定 -> 詳細設定(タブ) -> 環境変数

のシステム環境変数の「PATH」にすでに入っているものを消さないように以下を追加

;C:\WinPython;C:\WinPython\python-3.5.4\Scripts

;(セミコロン)区切りで2つのパスを追加する。

準備が整ったのでおもむろに「Jupyter Notebook.exe」をダブルクリックする。

黒い画面が表示され、おっきたかっと思ってしばらく待ってみると

Traceback (most recent call last):
  File "C:\WinPython\python-3.5.4\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\WinPython\python-3.5.4\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\WinPython\python-3.5.4\scripts\jupyter-notebook.exe\__main__.py", line 5, in <module>
  File "C:\WinPython\python-3.5.4\lib\site-packages\notebook\notebookapp.py", line 42, in <module>
    from zmq.eventloop import ioloop
  File "C:\WinPython\python-3.5.4\lib\site-packages\zmq\__init__.py", line 34, in <module>
    from zmq import backend
  File "C:\WinPython\python-3.5.4\lib\site-packages\zmq\backend\__init__.py", line 40, in <module>
    reraise(*exc_info)
  File "C:\WinPython\python-3.5.4\lib\site-packages\zmq\utils\sixcerpt.py", line 34, in reraise
    raise value
  File "C:\WinPython\python-3.5.4\lib\site-packages\zmq\backend\__init__.py", line 27, in <module>
    _ns = select_backend(first)
  File "C:\WinPython\python-3.5.4\lib\site-packages\zmq\backend\select.py", line 26, in select_backe
nd
    mod = __import__(name, fromlist=public_api)
  File "C:\WinPython\python-3.5.4\lib\site-packages\zmq\backend\cython\__init__.py", line 6, in <mod
ule>
    from . import (constants, error, message, context,
ImportError: DLL load failed: 指定されたモジュールが見つかりません。

C:\WinPython\notebooks>

なるほど。なんかDLLが足らないらしい、エラーメッセージをもとに「WinPython モジュールが見つかりません」とかググって見ても一致するものがでてこない。

そこで、一旦、WinPythonは忘れてモジュールが見つからんとエラー吐いている「zmq」を調べると、エラーメッセージそのものズバリではないもののバージョンアップの方法がわかった。

とりあえず、ものは試しなのでそこに書かれているコマンドを打ってバージョンアップしてみる。(コマンドを打つのはさっきのエラーメッセージが出たコマンドプロンプトの黒い画面のところでいい)

C:\WinPython\notebooks>pip install --upgrade pyzmq
Collecting pyzmq
  Downloading pyzmq-17.0.0-cp35-cp35m-win32.whl (812kB)
    100% |################################| 819kB 109kB/s
Installing collected packages: pyzmq
  Found existing installation: pyzmq 16.0.3
    Uninstalling pyzmq-16.0.3:
      Successfully uninstalled pyzmq-16.0.3
Successfully installed pyzmq-17.0.0

C:\WinPython\notebooks>

今、入ってたのが16.0.3で17.0.0に上がったわけか。

そのコマンドプロンプトは閉じて、もう一度、「Jupyter Notebook.exe」をダブルクリックする。

また黒い画面が起動して来て、

[I 10:50:30.048 NotebookApp] Writing notebook server cookie secret to C:\WinPython\settings\runtime\
notebook_cookie_secret
[I 10:50:43.351 NotebookApp] JupyterLab alpha preview extension loaded from C:\WinPython\python-3.5.
4\lib\site-packages\jupyterlab
[I 10:50:46.073 NotebookApp] Serving notebooks from local directory: C:\WinPython\notebooks
[I 10:50:46.074 NotebookApp] 0 active kernels
[I 10:50:46.075 NotebookApp] The Jupyter Notebook is running at:
[I 10:50:46.075 NotebookApp] http://localhost:8888/?token=ac22eb5a9a5027ee205ec50bad0cf28f438a76898c
c2883d
[I 10:50:46.076 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to s
kip confirmation).
[C 10:50:46.085 NotebookApp]

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://localhost:8888/?token=ac22eb5a9a5027ee205ec50bad0cf28f438a76898cc2883d
     

っと表示され、暫く待つと、IEも起動して使える状態になった。

まぁ使えるようにはなったけど、「Jupyter Notebook」ってのがなんなのかわかってないので、これから使い方を覚えないと行けないんだけどね。