[python] 関数の仮引数の指定に変数を使う

[python] 関数の仮引数の指定に変数を使う

レアケースだと思いますが、以下のようなケースです。

という関数があって、

のように呼び出したい場合です。

仮引数のキーを指定して通常関数の呼び出すには、

というふうに仮引数のkeyの名称を指定して呼び出しますが、この、key_a と key_b の指定を変数にしたい場合です。

以下のようにします。

結果は、

で、

と同じ結果になります。

[python] Mac Catalina に mariadb + mysqlclient の環境を作成する

Mac : 10.15.1
Python 2.7.6
MariaDB : 10.4.10

mysqlclient を入れるのにいつくか関門があった。

まずは解決方法

以下発生したエラーとそれぞれの対応

ssl のインストール

pip install mysqlclient
を普通に行うと

はい、openssl を入れます。

インストール時に

と表示されるので、その通りに従い実行する

そして、

エラー

mariadb-connector-c を入れる

エラーを調べると以下のようなのが見つかる。

https://stackoverflow.com/questions/44239393/installing-mysqlclient-for-mariadb-on-mac-os-for-python3/44268445#44268445

手順を真似して実行する

だめじゃん。
以下のエラー

mysql_config いじる

mysql_config 中をいじると良いとある情報が多々見つかる

https://stackoverflow.com/questions/50864438/mac-pip-install-mysql-python-unsuccessful

https://stackoverflow.com/questions/12218229/my-config-h-file-not-found-when-intall-mysql-python-on-osx-10-8

だけど、/usr/local/bin/mysql_config 正しく言えば、/usr/local/opt/mariadb-connector-c/bin/mariadb_config はバイナリ。

mariadb-connector-c じゃなくて、mariadb を利用していた時は、 mariadb_config はシェルファイルでいじれるけど。 なので、mariadb 時代の mariadb_config コピーしたりしたけど無駄でした。

include を追加して対応

結局 my_config.h の場所を探して

をしたら成功しました。

仮想実行環境などで2回目以降のインストール

仮想実行環境(virtualenvや、pipenv)で、2回目以降は以下の手順でインストールできます。
mariadb-connector-c を、install するか unlink するかの違いしかないです。