スキップしてメイン コンテンツに移動

Pythonのインポート表記順を自動で整理する方法 - Spyderでも使えるisortの実施方法 -

 Pythonファイルの冒頭に書かれるimport文ですが、表記順をどうしようか、迷ってしまうことはありませんでしょうか?そんな時に簡単に整理してくれるのが"isort" というコマンドです。Pythonのコンソール上で、 整理したいファイルのあるディレクトリに移動し、以下のコマンドを実行してみましょう。

isort .

これで、現在のディレクトリ以下にある全てのPythonファイルのimport文の順番を綺麗に整理してくれます。順番はPythonコードのコーディング規約PEP8のルールに則て整理されます。

import文 は次の順番でグループ化すべきです:

  1. 標準ライブラリ
  2. サードパーティに関連するもの
  3. ローカルな アプリケーション/ライブラリ に特有のもの

上のグループそれぞれの間には、1行空白を置くべきです。

さらに、isortではグループ内の順番はアルファベット順に整理されます。これでもう迷いませんね。

「コマンドが見つかりません」と表示されて実施できない場合

isortがインストールされていない環境のようです。環境管理にpipを用いている場合は、以下のコマンドを実行してみて、現在の環境にインストールされているパッケージを確認してみましょう
pip list

リストの中にisortがない場合、pipを使ってisortをインストールしましょう。下記のコマンドでインストールできます。

pip install isort

Spyderで実施したい場合

Python用の総合開発環境Spyderでも、コンソールがありますので、isortを実施する事ができます。ですが、Spyderはデフォルトでは対話式シェルIPythonで起動されるので、そのままでは実施できません。下記のコマンドで実行する必要があります。
!isort .

先頭に"!"をつけることで、システムシェルでの実行に切り替えることができます。

対象ファイルを指定したい場合

整理を行うファイルを指定したい場合には"."の代わりに、ファイル名を入力します。
isort file.py

整理されるファイルがあるか確認したい場合

オプション"-c"をつけることで、順序ルールに違反しているファイルがあるかどうかチェックを行い、表示します。
> isort -c .
ERROR: file.py Imports are incorrectly sorted or/and formatted.
このオプションでは、変更は行わず、だたルールに沿っているか確認するのみです。

スキップされたファイルが何か確認したい場合

実施してみると、以下のように表示される場合があります。
> isort .
Skipped 2 files
これは、何かのファイルがチェックされずスキップされたことを示しています。例えば、対象ディレクトリ内にgitの対象となっているディレクトリがある場合、隠しディレクトリ.gitがスキップ対象となり、このような表示がされます。しかし、これでは何のファイルがスキップされたか、確認することができません。そんな時は、オプション ”-v”をつけて、どのようなチェックが行われたか、表示させてみましょう。
> isort -b .
                 _                 _
                (_) ___  ___  _ __| |_
                | |/ _/ / _ \/ '__  _/
                | |\__ \/\_\/| |  | |_
                |_|\___/\___/\_/   \_/

      isort your imports, so you don't have to.

                    VERSION 5.9.3

from-type place_module for setuptools returned THIRDPARTY.
.
.
.
git was skipped as it's listed in 'skip' setting, matches a glob in 'skip_glob' setting, or is in a .gitignore file with --skip-gitignore enabled.
.
.
.

参考URL

コメント

このブログの人気の投稿

Sourcetreeを使って、特定のブランチやタグをローカルに再現する方法 - フェッチ(fetch)を使おう -

今や、プログラミング開発に欠かせない存在となったGit。上司や同僚から「修正版をブランチ"devlop"にプッシュしたから、それを反映させてね」「安定版はタグ”v1.2”だから、よろしくね」と言われることもあるでしょう。その時に「どうやってブランチやタグって変えたらいいかわからない」「そもそも言われたブランチやタグが見当たらないんだけど…」となったら、とても困ってしまいます。そんなときにどうしたらいいか、本記事では Sourcetree を使用している環境を想定して、おすすめの手順を紹介します。環境によって具体的な操作は異なるものの、手順自体は一緒です。基本的には、 フェッチ(fetch)をしてリモートリポジトリをちゃんと確認 すればよいのです。 1. コミットしていないファイルをなくそう まず、Sourcetreeのコミット一覧に「コミットされていない変更があります」とあるかどうか確認します(下記図赤下線参照)。「コミット」の箇所に青マークでコミットされてないファイル数も表示されます(下記図赤枠参照)。その変更をコミットするか、破棄するかを行い、コミットされていない変更がない、きれいな状態にしましょう。そうしないと、後の作業中にエラー等が発生して進まなくなってしまいます。 2. フェッチしよう フェッチとは、 リモートリポジトリの最新の履歴の取得だけを行う 操作です。これによって、自分から見えていなかったブランチ・タグが見えるようになります。ブランチへのマージが伴うプッシュやプルと異なり、単に履歴を取得するだけなので、意図しないコミットが発生しません。安心して実施しましょう。Sourcetreeでは下記図赤枠部分をクリックすれば、フェッチを行うことができます。 その際出てくるポップアップで「すべてのリモートからフェッチ」「全てのタグを取得」をチェックしてください(下図赤下線参照)。 3. 目的のブランチ・タグを見つけよう 目的のブランチ・タグを見つけるのに便利なのが、Sourcetreeの左側領域にある「ブランチ」「タグ」「リモート」「スタッシュ」です。目的のブランチを探したい場合は「リモート」をクリックして現れる「origin」をさらにクリックしましょう。これでリモート上にあるブランチの一覧を見ることができます。タグの場合は「タグ」をクリック

GitHubのプライベートリポジトリからクローンできてもプッシュできないときの対処法 - Write権限の有無を確認しよう -

 以前、 SourceTreeを使って、GitHubのプライベートリポジトリにアクセスする方法 を記事にしました。その際、プライベートリポジトリからクローンできても、プッシュできない!という現象に遭遇するときがあります。下記のように、”そんなリポジトリは存在しないよ”というエラーが表示されます。 remote: Repository not found. もし、そのリポジトリがOrganaizationに属するものならば、 あなたのアカウントの権限が”Read”のみで、”Write”になっていない 可能性があります。権限に関してOrganaizationの管理者に確認してもらいましょう。 管理者がどういうルールで権限を決定しているのかによって、対応が変わるかと思います。一番手っ取り早い対応は、全てのメンバーのデフォルト権限を”Write”に変えてしまえばよいでしょう。Organaizationのページの右上にある「Settings」をクリックし、左に表示されるメニューから「Member privileges」を選択します。すると、左下のような画面が表示されますので、赤枠で囲っている「Base permissions」のプルダウン部分を"Write"に変更してください。 その他に、リポジトリ毎にアクセスできるメンバーを管理したい場合もあるかと思います。その際にはリポジトリの「Settings」→「Manage access」を選択し、設定等を変更してください。

SourcetreeでGitHubのプライベートリポジトリをクローンする

Sourcetree は、初心者でも操作しやすいgitのGUIツールです。基本無料のソフトなので、あらゆる人が導入・利用しやすいという利点を持ちます。ですが、GitHubで非公開、つまりプライベートのリポジトリを取り扱う場合には、初期設定に一工夫が必要です。 本記事で紹介する設定の流れは以下の通りです。前提として、1)GitHubのアカウントとプライベートリポジトリを既に所有しているが、2)Sourcetreeを自身のPCにまだインストールしていない状態を想定しています。 GitHubのPersonal access tokenを作成する Sourcetreeを自身のPCにインストールする SourcetreeにGitHubのアカウントを登録する プライベートリポジトリをクローンする 今回はPersonal access tokenという手法を用います。秘密鍵や公開鍵が必要なSSH接続とは異なり、アカウント名とパスワードのみで認証できます。そのため、アカウント管理がより重要となりますので、 2段階認証 でより強力なアカウント保護をおこなうことをお勧めします。また、本記事で紹介するのはWindowsでの利用です。Macでもほぼ同じ流れになるかと思いますが、試してはいませんのでご了承ください。 1. GitHubのPersonal access tokenを作成する GitHubのPersonal access tokenとは、GitHub API またはコマンドラインを使用するときに GitHub への認証でパスワードの代わりに使用できる機能です。このトークンを自身のGitHubアカウントで作成することで、Sourcetreeからプライベートリポジトリにアクセスすることができるようになります。具体的な作り方は下記のGitHub公式ページををご参考ください。 Personal access tokenの作成方法: https://docs.github.com/ja/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token ポイントは手順8に書かれているS