web-dev-qa-db-ja.com

MySQLコネクタ/ python ImportError:「mysql」という名前のモジュールはありません

私はUbuntu/LinuxとPythonが初めてなので、ここで明らかな何かを見逃している可能性があります。 Ubuntu 16.04 LTS、サーバーバージョンを実行しています。

dpkg -i [package-name].deb(明らかに[package-name]を実際の名前に置き換えました)を使用して、公式のMySQLコネクタ/ python(2.1.7、python3バージョン)をインストールしました。私が持っているバージョンであるPython 3.5と互換性があるものとしてリストされています。 Pythonインタープリターを介してimport mysql.connectorを使用してインストールを検証しようとすると、次のエラーが表示されます。

 >>> import mysql.connector
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'mysql'

似たような質問の1つで、pythonがパスにない場合、コネクタが適切にインストールされていない可能性があることがわかりました。インストール中に問題は発生しなかったようです。ファイルpython3は/usr/binにあり、これは間違いなくパスにありますが、同じ場所にあるファイルpython3.5へのリンクのようです。コマンドwhich python3を実行すると出力usr/bin/python3が得られますが、which pythonを実行すると出力は得られません。

パッケージにはusr/lib/python3/dist-packagesにインストールされているように見えるCライブラリも含まれているようです。そのディレクトリ内で、MySQLに関連するものと呼ばれるものはありません。

コネクタのインストールに問題があるのか​​、それともPython自体に問題があるのか​​を知るために、何を探すべきですか?そして、どうすればこれを修正できますか?

6
purplecho

解決策は、対応するPython 3モジュールをインストールすることです:

Sudo apt-get install python3-mysql.connector

import mysql.connectorエラーを修正します。

$ python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
>>> 

Python 2でも同様:

Sudo apt-get install python-mysql.connector

$ python2
Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
>>> 
11
N0rbert