プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

python

VSCode で Python の unittest をデバッグ実行できない

こちらの記事で、 2-3 木を実装した際に、 Python の unittest を使ったテストの実行についても触れました。 この記事内では触れてなかったのですが、 VSCode で unittest を実行できるようにすると、テスト時に、 VSCode 上でデバッグもできるようになって…

2-3木を実装した

ボチボチこちらの『データ構造とアルゴリズム』を読んでるところです。 データ構造とアルゴリズム作者:杉原 厚吉共立出版Amazon 時間を見つけては興味のある内容を実装したりして遊んでます。で、今回は、平面走査法を実装してみたいなと思い立ち、まずはこ…

Python 3.11 の typing.Self を使ってみた

最近 python で遊ぶときは、型ヒントをつけながらいろいろと試しています。 もともとは、クラス定義の時、自分自身を指定することができないようです(下記の前方参照)を参照 [翻訳] PEP 0484 -- 型ヒント (Type Hints) - Qiita で、Python 3.11 から、自分…

WSL2 に pyenv + venv 環境を作ってみた

WSL2 の Ubuntu にデフォルトで入っているバージョン以外の Python を試したくなったので、複数バージョンを使えるようにする方法を調べてみました。 どうも、 Python では環境を管理するためにいろんな方法があるようで、このあたりの記事に表の形でよくま…

Python で text-to-speach を試してみる

先日の記事で、古いノートPCを復活させた話を書きましたが、早速使う時がきました。 伊勢市内の中学校を対象に、キャリア教育の一環として、市内の事業者などの有志が仕事の話をするビジネスパーク伊勢というのがあって、私も都合が合う時にたまに参加してい…

はてなブログのコードハイライトを SyntaxHighlighter から はてなの markdown に変更

はてなブログに移行してくる前から、Syntaxhiglighter を使っていたんですが、どうもここしばらく開発が止まっているようです。 github.com 一応、こちらの記事に書いたように v4 に対応させて使っていたんですが、最近手を出している新しめの言語、 dart (f…

pip3 のアップデートに失敗しました

別の記事で書きました、 aws cli からクロスアカウントを使う設定をする際に、いろいろと試していました。 その時、 mor@DESKTOP-H6IEJF9:~$ aws --version aws-cli/1.16.269 Python/3.6.6 Linux/4.4.0-18362-Microsoft botocore/1.13.5 となっていたので、a…

【Python】Python/C APIによるCライブラリの呼び出し

Python/C APIを用いた、拡張モジュールの作成方法を、GimpのAPIを対象にしてまとめてみました。 なお、Pythonから既存のCライブラリのAPIを呼び出す方法はいろいろなものがあります。今回Pythonに標準的に用意されているPython/C APIを用いたのは、Gimp-Pyth…

【Python】【SWIG】Python文字列をvoid*引数に渡す方法

C/C++のライブラリをPythonから呼び出す方法として、SWIGを使った方法をとっているものがありました。このライブラリを呼び出す際に、引数としてvoid*をとる関数の場合にうまくPythonのデータを渡せないことがありました。今回はこのような場合の回避策を考…

【Gimp】CのプラグインサンプルのPythonでの記述

GimpのプラグインのサンプルをPythonで記述する際の練習をかねて、元々Cで書かれていたサンプルを、Pythonで書き直してみました。 元々のCプラグインのサンプルはGimp Developpersのプラグイン開発について説明しているページにあります。プラグイン全般に関…

【Gimp】Pythonによるプラグイン開発

PythonによるGimp用のプラグイン開発について調べたので、以下にまとめておきます。 なお、使用したOS, Gimpのバージョンは以下のとおりです。 OS : Ubuntu 9.04 Desktop 日本語 Remix版 Gimp : 2.6.6 その他関連するライブラリ:PYGtk,PyCairo,PyGobjectが…