MyEnigma

とある自律移動システムエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

Pythonヒッチハイクガイドを読んで学んだこと

目次

はじめに

Pythonに詳しい方が、

下記のPythonヒッチハイクガイドという

Webの資料を紹介していたので、

一通り目を通してみて

知らなかったことをメモようにまとめておきたいと思います。

英語版

日本語版

 

Can I use python3でライブラリがpython3で利用できるか確認できる

Python2のアプリケーションをPython3で書き換える時に、

下記のcan I use python3というサービスを使うと、

自分が使っているライブラリが、

Python3に対応しているかを確認できます。

 

pythonのリポジトリの構成

Pythonでモジュールを作る時は、

下記のリポジトリのような

ソフトウェア構成にしたほうが良いようです。

github.com

 

個人的に知らなかったのは、MANIFEST.in は

モジュールにソースコード以外のファイルを含める時に、

それらのファイルを記述するファイルです。

例えば、README.mdや、

LICENSEファイルをモジュールの中に含めたい場合は、

include LICENSE

include README.md

のようにモジュールに含めるファイルを記述します。

 

加えて、makefileを使って、

make initコマンドでrequirements.txtを使ったパッケージのインストールを実施したり、

make testコマンドでテストを実施できるようにしています。

 

with構文をうまく使う

reiki4040.hatenablog.com

shin.hateblo.jp

 

コードのデバッグをするときはテストファイルを作る。

コードをデバッグする最初のステップは、バグを特定する新しいテストを書くことです。

必ずしもそうであるとは限りませんが、これらのバグを捕まえるテストは、

プロジェクトの中で最も価値のあるコードです。

 

tkinterはバージョン8.0から外見が洗練された

tkinterはPythonのデフォルトGUIライブラリですが、

以前のtkinterは非常に外見が古臭く、

常用する気が起きませんでしたが、

tkinterのバージョン8.0から外見が非常に洗練されたものになりました。

 

Pythonさえインストールされていれば、

GUIアプリが動くので、

これまでは主にPyQtを使っていましたが、

今後はtkinterメインにしたい気持ちが高まりました。

myenigma.hatenablog.com

 

ロギングが print より優れている理由

  • ログ記録イベントごとに作成される ログレコード は、ファイル名、フルパス、関数、ロギングイベントの行番号など、すぐに利用できる診断情報を含んでいます。 含まれているモジュールにログインしたイベントは、フィルタリングしない限り、ルートロガーからアプリケーションのロギングストリームに自動的にアクセスできます。

  • ロギングは、logging.Logger.setLevel() メソッドを使用することによって選択的に消音することができます。または、属性 logging.Logger.disabled を True に設定することによって無効にすることができます。 

 

PythonのテストフレームワークにはNoseを使う

Note to Users — nose 1.3.7 documentation

 

Python製のCIサーバ Buildbot

CIサーバとしては、Java製のJenkinsが有名ですが、

myenigma.hatenablog.com

Python製のCIサーバとしてBuildbotというものがあります。

 

Pythonの並列処理にはconcurrent.futuresを使う

myenigma.hatenablog.com

 

参考資料

qiita.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

 

MyEnigma Supporters

もしこの記事が参考になり、

ブログをサポートしたいと思われた方は、

こちらからよろしくお願いします。

myenigma.hatenablog.com