Open1

.から始まるファイルって何ぞや。Jupyter-lspの設定過程より

TakeruTakeru

PythonやJavaなどのサーバーサイドのみでプログラミングだけやってきた私にとって、構成ファイル(configuration)などの環境構築を扱うことがなかった。そういった駆け出しエンジニアは多いのではないでしょうか?
今回はその1つであるPycondestyleにおけるConfigurationファイルを扱った作業履歴を記す。

環境

  • Windows 11 Home
  • Python 3.11.5
  • Jupyterlab 3.6.6(anaconda不使用)
  • pycodestyle 2.11.0

前提

JupyterlabにJupyterlab-lspをインストール済みであること

やりたいこと

JupyterLabで上から2個目以降のセル内で、ライブラリをインポートするときにJupyter-lspによる警告をなくしたい(下記画像の黄色破線)

普通のpythonファイルであれば、この警告は必要かもしれないが、JupyterLabのようなセルを使用した形式では邪魔だと感じたため、消し方を探る。

方法

Jupyterlab-lsp公式に記載があった。
どうやらローカルのディレクトリに設定ファイルを作成すればいいらしい。詳しくはpycodestyle公式を読めとのことなので読む。
公式文章のConfigurationの欄には、特定のフォルダのみに適用するか、ユーザーレベルで適用するか選べると記載がある。
んで、やり方は、

At the user level, settings are read from the following locations:

If on Windows:
~.pycodestyle
Otherwise, if the XDG_CONFIG_HOME environment variable is defined:
XDG_CONFIG_HOME/pycodestyle

どういう意味??このファイル探せってこと?PC内から?って初心者の私は思いました。
でそのあと.pycodestyle形式のファイルを作成するんだなっとchatGPT先生に聞いてわかりました。
そしたら私はtest.pycodestyleというファイルを作成しました。これは間違いです。でも.XXって形式のファイル作成してって言われたら、拡張子と名前つけなきゃいけないって思いません?(思わない)

で、タイトル回収ですが、.XXのみ(名前のない)形式のファイルが存在することを知りました。
一般的に隠しファイル、隠しディレクトリにこのドットから始まるファイル名を使用するようです。
それらの性質は主に、隠しファイル、設定ファイル、キャッシュファイル、一時ファイルにあたるそうです。
要は普通の一般ユーザーは編集しないファイルだということです。

OK,じゃあとりあえず以下の内容で作成した!

[pycodestyle]
ignore = E402

え、でも今度はどこにこのファイルを置けばいいの?って

~.pycodestyle

公式に書いてあったこれどういう意味??
でとりあえずipynbがあるディレクトリと同じディレクトリにおいてみる、が適用されていない。
じゃあどこに置けばいいのってことで先生(chatGPT)に聞いてみたところプロジェクトのルートディレクトリにおいてくださいとのこと。
ほなプロジェクトのルートディレクトリとは何を指すんやと試行錯誤した結果、JupterLabの場合、最初に起動するときにCMDから起動すると思うが、その時にいるディレクトリにおくとのことだった。
試しにやってみると警告が消えた!

てなわけでまとめです

  • .から始まるファイルは隠しファイル(ディレクトリ)でその性質は設定ファイル、キャッシュファイル、一時ファイルである
  • プロジェクトのルートディレクトリはことJupyterLabにおいてはCMDからJupyterlabを起動したときのディレクトリである。