PyCharm&DockerでもBlackでコードフォーマット
PyCharm&DockerでもBlackでコードフォーマット venvなどで環境構築されたプロジェクトであれば、PyCharmのFile Wacherというプラグインでファイルの保存時にBlackによるコードの […]
Filter by Category
PyCharm&DockerでもBlackでコードフォーマット venvなどで環境構築されたプロジェクトであれば、PyCharmのFile Wacherというプラグインでファイルの保存時にBlackによるコードの […]
Pythonでソートが効かないリストを文字列を操作してソートさせる [‘01234_B.jpg?X=n…’,‘12340_A.jpg?X=n…’,& […]
PythonでXserverからメール送信 レンタルサーバーで処理が終わった時や進捗を確認したいときにPythonでメールを送る方法です。今回はXserverでPythonを実行していますが、他のレンタルサーバーでもホス […]
UnicodeEncodeError: ‘ascii’ codec can’t encode Pythonのprint() 関数で文字列を出力する時に以下の様なUnicodeEncod […]
2021年に最も読まれた記事ランキング 早いもので今年も残すところあとわずかとなりました。今年のまとめとして2021年に最も読まれたブログをランキング形式で発表します。 第5位 第4位 第3位 第2位 第1位 1位、2位 […]
dockerignoreで転送に時間がかかるファイルを除外 数GBを超えるSQLiteやメディアデータを含むプロジェクトをDocker Composeで起動する際に、ファイルの転送に時間がかかってしまいビルドがなかなか終 […]
Docker Composeで起動したコンテナ内に入る Docker Composeで起動したコンテナ内に入って処理やコマンドを実行する方法です。 コンテナ内に入るコマンド docker-compose up -dでコン […]
Failed to find Flask application or factory in module ‘NAME’. DockerでFlaskアプリケーションを起動する際にFailed to […]
Dockerで起動するFlaskプロジェクトをPyCharmのデバッグモードで起動 前回からの続きです。 前回作成したFlaskプロジェクトをPyCharmのデバッグモードで起動して、ブレークポイントを設定して任意の行で […]
3行でDockerで起動するFlaskのミニマムアプリケーションを構築 Flaskで”Hello, World!”を表示するだけのミニマムなアプリケーションをDockerで構築します。 リポジトリ […]
PyCharmとDockerの開発環境でのコードフォーマット 14インチのMacBook Proを新調してから開発環境をPyCharmとDockerで統一することにしました。Dockerはコンテナ単位で環境構築ができるの […]
M1 ProチップのMacBook Proを新調したので開発環境・設定をメモ(git) 14インチのMacBook Proを新調したので開発環境の設定をします。以前はPythonのバージョンやパッケージを管理するためにp […]
AWS Deep Learning AMIを用いたGPU環境構築の手順 今回はCUDAやcuDNN等の環境が予め構築されていて機械学習に適したインスタンスをかんたんに作成できるAWS Deep Learning AMIを […]
2021年の冬季休業のお知らせ 弊社では下記日程を冬季休業とさせていただきます。 冬季休業期間 2021年12月25日(土) ~ 2022年1月10日(月) 期間中にいただきましたお問い合わせにつきましては、冬季休業期間 […]
NETSUGENピッチに弊社代表の石井が登壇しました 2021年11月24日(水)に群馬県庁32階官民共創スペースNETSUGENで開催された、NETSUGENピッチ #7「RAITO採択スタートアップ特集」に弊社代表の […]
令和3年ビジネスマッチングフェアに出展しました 2021年11月11日(木)に桐生信用金庫と桐生商工会議所、桐生、みどり両市などが主催するビジネス展示商談会「ビジネスマッチングフェア」に出展しました。 開催概要 令和3年 […]
2021年 長期インターンシップを終了しました 5月より開始した2021年度のインターンシップが10月末で終了しました。今回は新型コロナウイルス流行の影響を鑑み全日程オンラインでの開催となりました。 弊社初のインターンシ […]
ぐんまスタートアップアクセラレーションプログラムに採択されました 株式会社ファントムは群馬県が主催する支援プログラム「ぐんまスタートアップアクセラレーションプログラム」〜RAITO〜に採択されました。 会社概要 企業名: […]
ツイートを位置情報でプロットして時系列に纏めるtapiokaHeatmapの解説 今回はタピオカのツイート数を位置情報でプロットして時系列に纏めるソースコードについて解説する。 ソースコードは下記のgithubにあるので […]
桐生イノベーションEXPO 2021に弊社代表の石井が登壇しました 2021年10月17日(日)に桐生市市民文化会館(シルクホール)で「桐生イノベーションEXPO 2021」に弊社代表の石井が登壇しました。 開催概要 桐 […]
コードはGitHubリポジトリにあげています。
venvなどで環境構築されたプロジェクトであれば、PyCharmのFile Wacherというプラグインでファイルの保存時にBlackによるコードの自動整形が可能ですが、Dockerで環境構築されたプロジェクトはBlackのパスが読み込まれずFile Wacherが正常に動作しません。
従来はこの記事のように⌥ ⌘ L
でコードを整形していましたが、この方法だとコマンドを実行し忘れたり、実行してもそれぞれの開発環境によってコードフォーマットが変更されてしまうことがありました。
現状ではPyCharmの設定だけでDockerで環境構築されたプロジェクトにBlackを適用することはできませんが、docker-compose.ymlにコードフォーマットのコマンドを追加することで、docker-composeコマンドでコンテナを起動する度にBlackによるコードフォーマットが可能です。
version: "3"
services:
app:
build: .
volumes:
- ./app:/code
command: sh -c "black . && pip freeze > requirements.txt && python app.py"
container_name: python_app
app.pyのコードがリフォーマットされました。
command: sh -c "black . && pip freeze > requirements.txt && python app.py"
sh -cを付けることで複数のコマンドを指定可能
コマンドは&&で繋げる
blackコマンドとPythonの実行コマンドを指定
pip freeze > requirements.txt
コンテナ内で更新されたパッケージ情報をホストのrequirements.txtに反映
群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。
メーリングリストに登録するとファントムの最新情報をお届けします
お客様のメールアドレスを共有することはありません