私は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自体に問題があるのかを知るために、何を探すべきですか?そして、どうすればこれを修正できますか?
解決策は、対応する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
>>>