2011-10-04 64 views
6

我在用Python试图Heroku,我成功运行了"hello word" example with Flask在Heroku上用Python2.7导入sqlite3

我现在想部署一个非常基本的应用程序,使用sqlite3和Flask,我知道应用程序正在工作。但是我无法使其工作,并且我怀疑问题出在了sqlite上。

当我开始Python的外壳,Heroku的提供,这里的进口错误日志:

$ 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

这在Heroku上是不可能的,因为sqlite需要一个永久可写的文件系统。由于Heroku不提供永久可写文件系统,sqlite3将不起作用。

需要考虑的事情:Heroku是一个分布式环境。这意味着应用程序可以在许多进程中的许多机器上运行。在你的情况下,这将产生多个sqlite3实例(每个本地运行),是否允许。

此外,见:Heroku Devcenter - Read-only Filesystem

+0

谢谢,我真的认为这是可能的Ruby on Rails的,但它似乎没有任何。然后我会使用PostgreSQL。 –