簡體   English   中英

在Heroku上用Python2.7導入sqlite3

[英]import sqlite3 with Python2.7 on Heroku

我正在用Python嘗試Heroku,我成功地使用Flask運行了“hello word”示例

我現在想要部署一個非常基本的應用程序,使用sqlite3和Flask,我知道應用程序正在運行。 但我無法讓它工作,我懷疑問題是sqlite。

當我啟動Heroku提供的Python shell時,這里是導入錯誤日志:

$ 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? 感謝幫助。

這在Heroku上是不可能的,因為sqlite需要永久可寫文件系統。 由於Heroku不提供永久可寫文件系統,sqlite3將無法正常工作。

需要考慮的事項:Heroku是一個分布式環境。 這意味着應用程序可以在許多進程中的許多機器上運行。 在您的情況下,如果允許,這將生成多個sqlite3實例(每個實例在本地運行)。

另請參閱: Heroku Devcenter - 只讀文件系統

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM