質問: いつも勉強させていただいてます。 ChainerのDeep learningをしようと思い、 GeForce 1050ti CUDA10.1 の設定済みパソコンにWSLのUbuntuを導入しました。 WSLにインストールしたPythonプログラムをiPythonで操作し、 Chainerの計算にGPUを使用したいと思っています。 ``` In [6]: chainer.print_runtime_info() Platform: Windows-10-10.0.18362 Chainer: 6.3.0 NumPy: 1.15.4 CuPy: CuPy Version : 6.3.0 CUDA Root : C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1 CUDA Build Version : 10010 CUDA Driver Version : 10010 CUDA Runtime Version : 10010 cuDNN Build Version : 7500 cuDNN Version : 7500 NCCL Build Version : None NCCL Runtime Version : None iDeep: Not Available ``` 上記の様にWindowsに入れたAnacondaでは設定できているのが確認できています。 次にWSLをUbuntuで起動し、/usr/local/lib/python2.7/dist-packages/にあるプログラムを iPythonで呼び出すとimportできました。 https://sekailab.com/wp/2019/03/10/execute-windows-binary-on-wsl/ のサイトのように vi .bashrcに以下を追記しました: alias conda="conda.exe" alias python="python.exe" alias ipython="ipython.exe" alias nosetests="nosetests.exe" alias pip="pip.exe" そしてコマンドプロンプトからWSLコマンドでWSLを起動するとWSLのディレクトリが確認できますがiPythonを実行するとWindowsのAnacondaが呼び出されるため、WSLの/usr/local/lib/python2.7/dist-packages/のプログラムが実行できません。 ![](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/6d32a448b87da854c0a556713eb74b1a.jpeg) 枠内のようにUbuntuでWSLを呼び出しWSLのipythonで/usr/local/lib/python2.7/dist-packages/PyRosettaにあるpyrosettaモジュールをインポートでき、枠外のようにコマンドプロンプトからWindowsのipythonでC:Anaconda2\envs'py27\Lib\site-packages\にあるchainer,cupyをインポートできました。しかし、コメント頂いたようにCupyを使うためにWSLのAlias ipython='ipython.exe'にすると棒矢印のようにWindowsのipythonが呼び出されるのでPyrosettaがインポートできません。パスを通してもWSLのディレクトリはWSL経由でないと呼び出せないとのことなので。WindowsでipythonからPyrosetta,chainer,cupyをインポートするにはどうしたらいいのでしょうか。
回答: ``` from distutils import log ImportError: cannot import name 'log' ``` とあるので、distutilsが無いのかも知れませんね。distutilsはsetuptoolsに置き換わっているようです。 distutils --- Python モジュールの構築とインストール distutils又はsetuptoolsはpython3環境にインストールされているのでしょうか?