拡張モジュールは、現在のロケールを調べる以外は、決して setlocale() を呼び出してはなりません。 しかし、返される値もロケールの復帰のために使えるだけなので、 さほど便利とはいえません (例外はおそらくロケールが "C" か どうか調べることでしょう)。
ロケールを変更するために Python コードで locale モジュール を使った場合、Python を埋め込んでいるアプリケーションにも影響を 及ぼします。Python を埋め込んでいるアプリケーションに影響が及ぶ ことを望まない場合、config.c ファイル内の組み込みモジュールの テーブルから _locale 拡張モジュール (ここで全てを行っています) を削除し、共有ライブラリから _locate モジュールにアクセス できないようにしてください。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。