2011-10-04 3 views
6

私はPythonでHerokuを試していますが、私は"hello word" example with Flaskを正常に実行しました。HerokuのPython2.7でsqlite3をインポート

これで、sqlite3とFlaskを使用して、非常に基本的なアプリケーションを配備したいと思っています。アプリケーションが動作していたことが分かりました。しかし、私はそれを動作させるのに問題があり、私は問題がsqliteであると考えています。ここ

私はHerokuのが提供するPythonシェルを開始し、インポートエラーログ:

$ heroku run python  
Running python attached to terminal... up, run.2 
Python 2.7.1 (r271:86832, Jun 26 2011, 01:08:11) 
[GCC 4.4.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import sqlite3 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python2.7/sqlite3/__init__.py", line 24, in <module> 
    from dbapi2 import * 
    File "/usr/local/lib/python2.7/sqlite3/dbapi2.py", line 27, in <module> 
    from _sqlite3 import * 
ImportError: No module named _sqlite3 
>>> 

私は、requirements.txtへの依存関係のために使用されるファイルを何かを追加する必要がありますか?これまでにはFlask==0.8しか含まれていません。サンプルのインポート日時は期待どおりに機能します。私はheroku logsと見て、他の重要なメッセージなしでこのメッセージも表示されます。

Herokuでsqlite3を使用する方法はありますか? ありがとうございます。

答えて

1

sqliteは永続的な書き込み可能なファイルシステムを必要とするため、これはHerokuでは不可能です。 Herokuは永続的な書き込み可能なファイルシステムを提供しないので、sqlite3は動作しません。

何かを考慮する:Herokuは分散環境です。これは、アプリケーションが多くのプロセス内の多くのマシンで実行される可能性があることを意味します。あなたの場合、複数のsqlite3インスタンスが生成されます(それぞれローカルに実行されます)。

はまた、以下を参照してください。Heroku Devcenter - Read-only Filesystem

+0

おかげで、私は本当にそれがRuby on Railsにしてできたと思ったが、それはどちらかないようです。 PostgreSQLを使用します。 –