« mjpg-streamerでUSBカメラをストリーミング配信してみる | トップページ | 回路図エディタ »

2021年1月 2日 (土)

PythonでMySQLを操作する - CentOS7/Python2の話

PythonでMySQLを操作したくなった。CentOS7での話。
(目的はTWELITEから送られてくるデータの保存用)

で、以下でインストールしてみた。

# yum install mysql-connector-python

--- 省略 ---

インストール:
mysql-connector-python.noarch 0:1.1.6-1.el7

完了しました!
#

以下、簡単なプログラムを用意した。すでにデータベースとしてTHTを用意してある。
# test.py
import pymysql.cursors

def main():
   connection = pymysql.connect(
      host='localhost',
      user='hit',
      password='hit',
      db='THT',
      charset='utf8',
      cursorclass=pymysql.cursors.DictCursor)

   connection.close()

if __name__ == "__main__":
main()

で、PythonでDBが操作できるか確認。残念ながら失敗。pymysql.cursorsがimportできない(見つからない)と言ってる。
$ python test.py
Traceback (most recent call last):
File "test.py", line 1, in <module>
import pymysql
ImportError: No module named pymysql

先人の知恵を調べてみるとPyMySQLはpipでインストールするのが良いとの言っている。PythonはPython Package Indexというライブラリーが用意されている。pipはそのライブラリーからインストールするツールということだ。で、pipのインストールから実施。なお、先人の知恵にはEPEL(Extra Packages for Enterprise Linux)を忘れないように!というアドバイスがあり、それに倣った。
$ sudo yum install -y epel-release
$ sudo yum install -y python-pip --enablerepo=epel

$ pip install mysql-connector-python

これでも同じエラーがでる(みつからない)。

で、以下を実行。
$ sudo pip install PyMySQL

これで初めてOKとなった。
ただしOKとなったのはPython2.
$ python test.py

Python3では同じエラーとなった。
$ python3 test.py

ImportError: No module named pymysql

結論:

以下でインストールせよ。ただしPython2でのみ有効。
$ sudo pip install PyMySQL

 

« mjpg-streamerでUSBカメラをストリーミング配信してみる | トップページ | 回路図エディタ »

ツールの使い方」カテゴリの記事

TWELITE日記」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« mjpg-streamerでUSBカメラをストリーミング配信してみる | トップページ | 回路図エディタ »