Ubuntu 20.10 で scapy の「No such file or directory b'liblibc.a'」を解消する
Ubuntu 20.10 で scapy を利用とすると、以下のエラーが出ました。
1 2 3 4 5 6 |
|
これは以下のように実行することで回避出来ました。
1 |
|
Ubuntu 20.10 で scapy を利用とすると、以下のエラーが出ました。
1 2 3 4 5 6 |
|
これは以下のように実行することで回避出来ました。
1 |
|
以前に CentOS7 に pyenv で Python 3.7.x 系をインストールする というメモを書きました。 今回は Ubuntu 20.10 に pyenv で Python 3.9.1 をインストールする手順をメモしておきます。
VIRL 2 Client Library を使うと Python から CML を操作することが出来ます。 簡単な Python スクリプトを書いて CML 上にラボを作成する手順をメモしておきます。
Sphinx で作成された VIRL 2 Client Library のドキュメントは CML 上から参照出来ます。 CML にログインし、Tools
→ Client Library
からドキュメントを参照することが出来ます。
Python で FastAPI を使ったアプリケーションを Web アプリケーションを作成する際、POST メソッドで渡されるリクエストの処理は公式サイトの Request Body 説明ページ によると pydantic を使ったクラスで処理するサンプルが掲載されています。 しかし、例えば「POST されてくる JSON のフォーマットが一定では無い」といったケースだと pydantic ではやや困る場合があるかも知れません。 そういった場合は pydantic を使わず、Body
を使ってリクエストを受け取り、json として処理する方法があります。 下記は FastAPI を mangum で AWS へデプロイすることを前提にしたサンプルです。
Python で「JSON でデータを受け取る」ようなケースを考えた場合、データを pydantic でクラス化するケースがあると思います。 例えば FastAPI で POST された JSON を受け取る Web アプリケーションを開発する場合などです。 こういった場合、「JSON 内のデータ名」と「クラスの変数名」は同じ名前にするのが自然だと思います。 しかし、-
を含む JSON を渡された場合、どういって処理するのか、メモしておきたいと思います。
以前に mangum + FastAPI で ASGI な Python アプリケーションを AWS Lambda + API Gateway 上で動かすというメモを書きました。 mangum と mangum-cli を使うと FastAPI を使った Web アプリケーションを AWS の Lambda と API Gateway を使って簡単に公開することが出来ます。
mangum-cli が無い場合は作成したアプリケーションを手動でアプリケーションをアップロードする必要があります。 CloudFormation を使うにしてもテンプレートを作成する必要があり、面倒です。 mangum-cli があればこれらの作業を自動化出来、手間なく、迅速にアプリケーションを配置することが出来ます。
FastAPI で REST API のエンドポイントを作成する場合、POST リクエストを受け付ける必要があります。 こういった場合の「POST された JSON を FastAPI な Python アプリケーションで処理する方法」をメモしておきます。
pyenv
自身をアップデートしたい場合、以下のように pyenv
のインストールディレクトリで git pull
するだけで可能です。
1 2 |
|
プラグインを利用したい場合は pyenv-update
を ${PYENV_ROOT}/plugins/
配下にコピーします。
1 |
|
後は pyenv update
すれば pyenv
のアップデートが実行されます。
1 |
|
「海外メーカー製品は、ドキュメントを英語で読むのが大変」という会話を耳にしたので、実際に「海外メーカー = シスコのドキュメントの英単語数」を計測してみました。 「英語の勉強をしてみよう」と思い立つのですが、単語を覚えるにしても「とりあえず人気のありそうな単語帳を買って…」となっても、興味が無く・使わない単語は忘れてしまいます。 逆に言うと「テクニカルドキュメントによく出てくる単語」を重点的に勉強すれば効率が良いのでは… と思い立った、ということもあります。 当初は「指定 URL の単語数を数える」だけのサンプルスクリプトを作ったのですが、結局 word-counter として PyPi に登録しました。 とは言え、PyPi として登録するほど大したことはしていません……
Python では時間の計算を行う際、timedelta を利用することが出来ます。 timedelta
を使うと、例えば「XX 時から YY 時まで ZZ 分間隔で表示する」といったことも簡単に実現出来ます。
日本の祝日情報を取得する Python ライブラリは幾つかありますが、動作は以下に大別出来ると思います。
どちらも一長一短ですが、「1. オンライン」の場合は当然、オンライン側の URL や提供データのフォーマット変更などの影響を受けてしまいます。 「2. オフライン」タイプのライブラリとしては jpholiday という、素晴らしいライブラリが公開されています。 こちらのライブラリを利用する形で (祝日では無く) 営業日情報を取得する jpbizday というライブラリを作成しました。