何が起きたか
Who | 私が |
When/td> | 今日、Transformersをimportしようと思い実行した際、 |
Where | (自宅ノートPC*1で) |
What | |
Why | 複雑怪奇なビルド設計をしていたため |
How | ImportError: cannot import name 'ViTForImageClassification'が出てしまった。 |
問題点
- jupyter上でインストールとアンインストールを繰り返した
ググって原因の調査を行ったが、「import transformersの綴りはあっていますか?」といった記事が多くてキレて近くにあった鉛筆を破壊した。- sys.pathを用いて参照元を調査し、直前にインストールしたものとは違うものを見ていたことを把握した。が、何を思ったのかそのフォルダを削除した。
- おそらく、これによって(?)、エラーがImportError: (unknown location)に変化した。
雰囲気による解決
- jupyterを閉じ、仮想環境をactiveにし、そこでアンインストール&インストールを行った。
どうするべきだったか。
- なんとなくビルドするのはやめよう
- 過去にsys.pathに追加を行っていた形跡があった。その場のノリと雰囲気だけで気軽にsys.pathに追加を行うべきではない。
- キレても物にあたらない。
根本的解決と再発防止
piyo.__path__を使えば、importしたパッケージpiyoのパスを知ることが出来る。
この引用元の記事にも書いてありました。
なんとなくビルドするのはやめよう
備考
本記事は健常者エミュレータ事例集に大きく影響を受けた。
healthy-person-emulator.memo.wiki
*1:Quartavia