
地獄の環境構築-修復・エラー対応編
1.概要
個人的にプログラミングで一番面白くなく辛いのは環境構築(プログラミングできる環境を設定すること)であり、無駄なことをしなくていいように記事を書いております。
ただし(仮想環境を作っても)ふとした操作で環境が崩れることがあるため、自分用の備忘録としてエラー対応を記載します。
2.Numpyエラー: DLL load failed
Numpyをimportしても"DLL load"のエラーが消えませんでした。
[IN]
import numpy
[OUT]
anaconda warnings.warn("loaded more than 1 DLL from .libs:" 記事通り再インストールすればよいのですが、私の環境ではよくわかりませんが複数のNumpyが入っていたっぽく下記の通り2回(以上)アンインストール※したら成功しました。
※2回目に何故か1回目と違うVerのアンインストールがログとして出ました
[Terminal]
pip uninstall numpy
pip uninstall numpy
pip install numpy3.複数CUDA環境を追加時のエラー
特定のAIを作るためにWindows環境下に複数のCUDAを入れたら(base)の環境が全滅しました。復活させるまでの道のりを記載します。
前提としてもともと使えていた環境が壊れたため、当たり前のことも前提として記載していきます。
3-1.Anacondaのパス確認:ユーザー環境変数
Anacondaの環境変数が正しく設定されていることを確認します。もし消えている・無い場合は手動で追加します。
[環境変数名の編集]
C:\Users\<User名>\Anaconda3
C:\Users\<User名>\Anaconda3\Library\mingw-w64\bin
C:\Users\<User名>\Anaconda3\Library\usr\bin
C:\Users\<User名>\Anaconda3\Library\bin
C:\Users\<User名>\Anaconda3\Scripts
3-2.CUDAのVersion確認
CUDAを複数環境入れた時に自分が今使用したいCUDA/cuDNNが選択できてるか確認します。複数環境での設定は下記をベースにしています。
3-2-1.CUDAのVersion切り替え
下記設定ではCUDA 10.0, 11.1, 11.6を選択できCUDA 11.6を選択しています。なおCUDA_PATHの設定変更(CUDA Ver.変更)後は再起動が必要です。

なおCUDAをインストールすると環境変数(システム環境変数のPATH)が自動で書き換わるため「きんたろうのIT日記ブログ」の設定をしている方は下記の通りに修正します。
[変更前]
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\libnvvp
[変更後]
%CUDA_PATH%\bin
%CUDA_PATH%\libnvvp
3-2-2.CUDA切り替えの確認
コマンドプロンプト(PowerShellはsetが使えない)で"set"と打つと環境変数が確認できます。
"CUDA_PATH"と"Path=CのCUDA\v "のVersionが使用したいCUDAであることを確認します。(上下ともにVer11.6で指定されている。)

正しく設定できればnvccコマンドも使用できるため下記でVer確認します。
[Terminal]
nvcc -V
3-3.Pytorchのインポートエラー
上記だけでうまくいけばよいのですが"import torch"でPytorchライブラリを読み込むだけでも下記のようなエラーが発生しました。
[IN]
import torch
[OUT]
AttributeError: module 'dill._dill' has no attribute
NameError: name '_C' is not defined「Error during import torch, NameError: name '_C' is not defined」
シンプルに再インストールで問題解決できれば良いのですが、私の場合は下記で実行しました。
【2022年12月追記】
Anacondaのアップデート?か何かでTorchが動かなくなりましたが、本章と同じ対応で修復できました。

3-3-1.torch関係をすべてアンインストール
Pytorchに関係するライブラリをすべて削除します。なお削除時はVS CODEのようなIDEは閉じてから実行してください。
念のために2回ずつアンインストールして完全に削除されたことも確認しました(※通常は1回でよいですが修復できない場合は2回試す)。
[Terminal]
pip uninstall torch
pip uninstall torch
pip uninstall torchvision
pip uninstall torchvision
pip uninstall torchaudio
pip uninstall torchaudio2023年4月追記:他にもPytorch関係で入れてるならそれも削除しておく
pip uninstall pytorch-lightning
pip uninstall lightning
pip uninstall lightning-utilities 下記は一括処理用
pip uninstall torch torchvision torchaudio pytorch-lightnin lightnin lightning-utilities 3-3-2.Pytorchの再インストール
PytorchをインストールしますがCUDAにあったVersionを選定する必要があります。(上ではCUDA 11.6ですが後で変更するので)CUDA 11.1用のPytorchを選定しました。コマンドは下記から選択します。

選定したコマンドを実行してエラーがでなければ使用できるはずです。
[Terminal]
pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html4.Jupyter/Editer
4-1."Code Editor out of Sync.
この記事通りで治った。
4-2.VSCODEの予期しないエラー(Linux)
Raspberry Piに入れたVS CODEで「予期しないエラーのため、エディターを開くことができませんでした」と出て、Jupyterが使用できなくなった。
結果的にはパッケージリストの更新とパッケージ更新で改善された。
[Terminal]
sudo apt update
sudo apt upgrade
5.Keras
5-1.KerasのAPI変更(version違い)によるエラー
環境構築というよりはVersion違いによるもの。
更新履歴
2022年9月4日:TecoGANのためのCUDA追加によるbase環境破損->PytorchとAnaconda環境の修復
2022年12月18日:Anacondaのアップデート?でPytorchの環境が破損したが、同様の処理で修復できたことを追記