Django: CentOS上でのmysqlclientインストールエラーの解決法
開発環境(Mac)ではインストールできたmysqlclientだが、いざ本番のCentOSサーバへDjangoアプリをデプロイの上、pip install -r requirements.txt でライブラリのインストールを試みたところ、依存ライブラリ・パッケージが不足しており下記のエラーが発生。インストール異常終了した為、解決法を後述に記載する。
開発環境(Mac)ではインストールできたmysqlclientだが、いざ本番のCentOSサーバへDjangoアプリをデプロイの上、pip install -r requirements.txt でライブラリのインストールを試みたところ、依存ライブラリ・パッケージが不足しており下記のエラーが発生。インストール異常終了した為、解決法を後述に記載する。
先日開発環境であるmacOSをCatalinaへアップグレード後にPyCharmでDjango環境の再構築を試みたところ、mysqlclientライブラリのインストールで下記のエラーが発生。
表題の通り、macOS上でmysqlclientのインストールを試みたところ下記のエラーが発生。本記事はその解決法を記載するもの。
追記(2019-12-28): macOS Catelinaアップグレード後に事象が再発した為、対処法を下記リンク先に追記しました。 Python: macOS (Catalina)でのpip install mysqlclient エラーの解決法
Django 2.2のリリースに伴い、早速既存のWebアプリの互換性チェックの為にライブラリのversion updateを行ったが、下記のエラーメッセージが出力されマイグレーションが異常終了。
例えば、Webアプリケーションを作成する際のDocker構成の一例としてデータベース(DB)機能のみのコンテナを起動し、WebアプリコンテナからDBコンテナにアクセスする際の方法として、ホストネットワークIPへバインディングせずに、docker runサブコマンドのlinkオプションを活用する方法がある。本記事は公式mysqlサーバコンテナを作成しlinkオプションで起動したコンテナからサーバへ接続する手法を紹介する。尚、参考にした公式ドキュメントリンクは記事末尾を参照すること。また、使用docker engine versionは1.9.1。
前記事に続き(単にしばらくほったらかしのOSSが多かっただけに過ぎないが)、phpmyadminもしばらくアップデートしていなかったのでこの際実施した。 まず、最新版を以下のサイトよりダウンロード。 phpMyAdmin 続いて既存のphpmyadminディレクトリをリネームの上、新バージョンへ移行していく。
# cd /var/www
# ls
cgi-bin error html icons phpMyAdmin-4.0.5-all-languages.tar.gz phpmyadmin
# mv phpmyadmin/ _phpmyadmin/ ← 旧versionのディレクトリをリネーム
# tar xzvf phpMyAdmin-4.0.5-all-languages.tar.gz
# mv phpMyAdmin-4.0.5-all-languages phpmyadmin
# cp phpmyadmin/config.sample.inc.php phpmyadmin/config.inc.php
# chmod 660 phpmyadmin/config.inc.php
# mkpasswd -l 46
# vi phpmyadmin/config.inc.php ← 修正内容は後述
# chown -R apache.apache phpmyadmin/
因みに、最近のバージョンのLanguagesの設定は過去とは少々変わったようだ。危うくlocale -aのja_JP.UTF-8を盲目的にセットするところだった。 Configuration — phpMyAdmin 4.0.5 documentation
# ls phpmyadmin/locale/
ar bn cs de en_GB et fr hi hu it ko nb pl pt_BR ru sk sr@latin th uk uz@latin zh_TW
bg ca da el es fi gl hr id ja lt nl pt ro si sl sv tr uz zh_CN
その為、config.inc.phpファイル内の修正箇所は以下の通り。
$cfg['blowfish_secret'] = '<mkpasswdコマンド結果を挿入>'
$cfg['DefaultLang'] = 'ja';
ここで、実際にブラウザからログイン後、日本語UIが確認できればOK。最後にゴミ掃除をすれば完了。拡張機能の無効の警告については今設定ではスコープ外なので割愛。最後に以下の通りゴミ掃除すれば完了。
# rm -f phpMyAdmin-4.0.5-all-languages.tar.gz
# rm -fr _phpmyadmin/
新バージョンのUIは中々洗練されていてよい。何でも新しい方が良いもんだね。
CentOSを使用しているがデフォルトのyumリポジトリだとPHP, MySQLのバージョンが古いので、これまでサードパーティーのリポジトリ、Remiを用いていた。当記事はRemiリポジトリを用いてのyum updateの覚え書きとなる。Remiのインストールや設定、PHP, MySQLのインストール、設定は割愛する。
MAMP付属のMySQLではなくMac OSに直にMySQLをインストールする場合の手順を以下にまとめておく。
以下のサイトよりMySQLをダウンロードする。ダウンロード時にはアカウントの登録を求められるが特に費用は掛からない。 MySQL :: Download MySQL Community Server 私の環境はMBA 64bitである為、<Mac OS X ver. XX.X (x86, 64-bit), DMG Archive>ファイルをダウンロードした。
AIRアプリケーションからSQLiteのDBにアクセスするには主にSQLConnectionとSQLStatementクラスを用います。基本的な処理の流れは、
下のプログラムはDBに接続してテーブルの作成、レコードの追加、検索を行うサンプルです。
前回はソートした検索結果を出力しましたね。今回は、フィールドの値が同じレコードをグルーピングし、そのレコード集の任意のカラムに対してAVG(),MIN(),MAX(),COUNT(),SUM()...などの関数計算を適応してみます。使用するレコードは以下のものを用います。