質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

6083閲覧

python3でMySQLdbをimport出来ない

metamorphosis

総合スコア11

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/02/11 05:57

前提・実現したいこと

python3にてMySQLdbをimportしたい

発生している問題・エラーメッセージ

python3.5.2にて、import MySQLdbを実行すると以下のエラーメッセージが出ます.

Traceback (most recent call last):

File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/MySQLdb/init.py", line 19, in <module>
import _mysql
ImportError: /usr/local/lib/python2.7/dist-packages/_mysql.so: undefined symbol: _Py_ZeroStruct

Ubuntu on Windows、python2.7.12とpython3.5.2が共存している状態です.
pip install mysqlclientを実行してパッケージをインストール済です.
python2.7.12では問題なくMySQLdbをinportできます.

私はpython初心者で、右も左もわからないような状態です.python3の本を読みながら指示に従って作業を進めた(つもりな)のですがどこかで間違ってしまったようです.

pythoon3.5を実行しているのにpython2.7のpackageを参照しているのが間違いなのか?_Py_ZeroStructは何者なのか?など色々と検索してみましたがよくわかりませんでした.

どうやったらpython3.5でMySQLdbをimportすることが出来るのでしょうか?
拙い文章で申し訳ありません.よろしくお願いします.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

pip install mysqlclient が実行されたのは、どの環境ですか?

仮想環境を構築していないのであれば(OSの仮想ではなくpythonの)、ライブラリのバージョン依存の関係かと思います。同じライブラリの複数バージョンは共存できません。2系のmysqlと3系のmysqlは別物と考えたほうが良いです。

3.4以降のpythonならvenvコマンドで、仮想環境を3系で用意して、その仮想環境に

$ . <環境名>/bin/activate

 

こんな感じで入って。
その中でpipを実行すると、その環境にあったライブラリが入ると思いますよ。

投稿2018/02/11 17:00

編集2018/02/11 17:24
rinren

総合スコア107

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

metamorphosis

2018/02/11 23:27

回答ありがとうございます。 sudo apt install python3-venv pyvenv myenv としてから、mysqlclientを一旦アンインストールし、 myenv環境に入ってから再度インストールすることで解決出来ました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問