2011-10-04 17 views
6

पर पायथन 2.7 के साथ आयात sqlite3 आयात करें मैं पाइथन के साथ हेरोकू की कोशिश कर रहा हूं, मैंने "hello word" example with Flask सफलतापूर्वक भाग लिया।हेरोकू

अब मैं एसक्लाइट 3 और फ्लास्क का उपयोग करके एक बहुत ही बुनियादी अनुप्रयोग तैनात करना चाहता हूं, और मुझे पता है कि एप्लिकेशन काम कर रहा था। लेकिन मुझे इसे काम करने में परेशानी है, और मुझे संदेह है कि समस्या स्क्लाइट के साथ है।

$ 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 के लिए कुछ जोड़ने की आवश्यकता है, निर्भरता के लिए इस्तेमाल किया फ़ाइल:

जब मैं अजगर खोल कि Heroku प्रदान करता है, यहाँ आयात त्रुटि लॉग शुरू कर दिया? इसमें अभी तक Flask==0.8 शामिल है। उदाहरणों में डेटाटाइम आयात करें अपेक्षित काम करता है। मैंने heroku logs के साथ देखा और यह संदेश किसी भी अन्य महत्वपूर्ण संदेशों के बिना भी दिखाई देता है।

क्या मेरे पास हेरोोकू पर कुछ sqlite3 का उपयोग करने का कोई तरीका है? सहायता के लिए धन्यवाद।

उत्तर

1

हेरोकू पर यह संभव नहीं है, क्योंकि स्क्लाइट को स्थायी लिखने योग्य फ़ाइल सिस्टम की आवश्यकता होती है। चूंकि हेरोकू स्थायी लेखन योग्य फ़ाइल सिस्टम प्रदान नहीं करता है, इसलिए sqlite3 काम नहीं करेगा।

कुछ विचार करने के लिए: Heroku एक वितरित वातावरण है। इसका मतलब है कि कई प्रक्रियाओं में कई मशीनों पर एक एप्लिकेशन चल सकता है। आपके मामले में, यह एकाधिक sqlite3 उदाहरण उत्पन्न करेगा (प्रत्येक स्थानीय रूप से चल रहा है), इसकी अनुमति थी।

इसके अलावा, देखें: Heroku Devcenter - Read-only Filesystem

+0

धन्यवाद, मैं वास्तव में सोचा था कि यह रूबी ऑन रेल्स के साथ संभव हो गया था, लेकिन ऐसा नहीं है कि यह या तो नहीं है लगता है। मैं तब PostgreSQL का उपयोग करूंगा। –