BIXLERのログ

いろいろ記録します。

OSError: [Errno45] Operation not supportedに悩まされたけどGitHubとGoogle翻訳に助けられた (Mac, python, Arelle)

以下の記事を参考にXBRLのデータを取得するコードを書いたところ、ArelleのCntlrモジュールを実行した時にエラーが発生しました。

OSError: [Errno45] Operation not supported: '/home/naget' というエラーです。

f:id:BIXLER:20210329100807p:plain

エラーの内容

エラーに書かれていたCntlr.pyのファイルの中身を見てみると、エラーとなっていた235行目の少し上の230行目に /home/naget/...の記載がありました。

f:id:BIXLER:20210329101610p:plain

Cntlr.py

解決策を探していると、/etc/auto_masterの一部をコメントアウトすることで解消されるようなことが書かれている記事を見つけましたが、参考元の情報がとても古かったため、この対応策は取らず他の解決法がないかさらに調べました。

ちなみに、/homeディレクトリはmacOSでは使われていない、というような記載も見つけました。Unixの名残りのようなものと理解しました。

そして、ついにGitHubで解決策を見つけました。韓国語で書かれていたため、情報収集の初め頃に一度見ていたのですが、日本語・英語ではなかったので読み飛ばしてしまっていました。

韓国語の知識がないのでGoogle翻訳様にお任せします。

f:id:BIXLER:20210329104245p:plain

Google翻訳

Full Pathに書かれているとおりに、/Users/ユーザー名/Library/Application Supportの下にArelleフォルダを追加してみます。通常、ユーザー名フォルダの下に存在するLibraryフォルダはFinderでは非表示になっているので、command + shift + . のショートカットキーを使って表示させます。

f:id:BIXLER:20210329104700p:plain

Arelleフォルダの追加

このあと作成したPythonコードを実行したところ、OSErrorは出力されなくなりました。

なぜ、これで解消されるのか詳細は分かりませんが、解決してよかったです。将来的にそのあたりも勉強したいと思います。

日本語や英語の情報だけを調べていて、解決策に辿り着くまでに時間がかかってしまいました。今の時代は素晴らしい翻訳ツールが存在するので、自分が理解できない言語であってもまずは翻訳してみるというのが今回の教訓です。