Pythonバージョン3.5.0でsqlite3モジュールをインポートできません。ここで私は何を得るのです。Python3でsqlite3をインポートできません
>>> import sqlite3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.5/sqlite3/__init__.py", line 23, in <module>
from sqlite3.dbapi2 import *
File "/usr/local/lib/python3.5/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ImportError: No module named '_sqlite3'
私が知っている、私が知っている、人々がこの問題について文句を言うが、掲載ソリューションのどれもこれまでの私のために働いていないウェブ上のStackOverflowの記事やサポートフォーラムがたくさんあります。私がしてきたのはここです:
私もCentOSの6.8 x86_64版を実行している、このサーバーにインストールされているのPython 2.6.6を、持っています。私はPython REPLを開いて、Python 2.6.6を使用しているときにsqlite3を正しくインポートできます。私はまた、bashからまっすぐにsqlite3を使用することができ、何も間違っているようです。
This helpful question有望と思われた。ユーザーjammyWolfが提案したように、
--enable-loadable-sqlite-extensions
オプションでPython3.5を再構成して再コンパイルしようとしました。いいえ、同じエラーが発生します。私は良い男の子のような仮想環境を使用していましたが、私はこのサーバーへのルートアクセス権を持っています。だから、私は悪い男の子だったし、rootとしてpython3を実行したが、virtualenvsは起動していなかった。まだ運がありません。だから私はそれがパーミッションとは関係ないと思う。
エラーメッセージには、それは
No module named '_sqlite3'
と表示されています。 This threadは、モジュール名の前のアンダースコアはモジュールが実装の詳細であり、APIで公開されていないことを示しています。 ...私はこの情報をどうしたらいいのか分からないが、そこにヒントがあるかもしれない。
'sqlite3'はPythonコードです。 '_sqlite3'はCコードです。あなたのディストリビューションの元のPythonにはすでにSQLiteライブラリが含まれているはずです。自分で3.5をコンパイルしましたか? –
はい、自分でPython 3.5をコンパイルしました。私がそれを再コンパイルしようとすると、特定のフラグや認識すべきことはありますか? (また、_sqlite3がCコードであるとは思っていませんでした;ありがとう!) – fterdal
あなたの配布用に3.5パッケージはありませんか?とにかく、あなたの質問は実際にPythonを正しくコンパイルする方法です。それを編集する。 –