2011-12-25 19 views
7

मैं सिर्फ ubuntu 10.04.3 पर अजगर 3.2.2 स्थापित किया है आयात नहीं कर सकते (रीडमी फ़ाइल से सभी instraction के बाद) और sqlite3 मॉड्यूल आयात करने की कोशिश की - परिणाम:अजगर 3.2: sqlite3 मॉड्यूल

No module named _sqlite3 

फिर मैंने lib-dynload निर्देशिका में देखा है और कोई फ़ाइल _sqlite3.so (लेकिन यह Python 2.6 में है)।

इस समस्या को कैसे ठीक करें?

धन्यवाद!

+0

= शायद अजगर 3 SQLite के लिए अलग पैकेज है। पायथन 2 और पायथन 3 पुस्तकालय असंगत हैं। –

+0

बस स्पष्ट करने के लिए - आपने इसे भंडार से खींचने के बजाय स्रोत कोड संकलित किया? – Makoto

+0

प्रक्रिया स्थापित करना: 1) '/ config' 2) 'make' 3)' परीक्षण करें '4)' sudo इंस्टॉल करें ' –

उत्तर

9

यदि आप स्रोत से स्थापित हैं, तो आपको sqlite3 के लिए विकास पुस्तकालय स्थापित करने की आवश्यकता है।

sudo apt-get install libsqlite3-dev 

आप शायद भी libreadline-dev और libssl-dev स्थापित करना चाहते हैं।

+1

क्या मैं पाइथन स्थापित करने के बाद ऐसा कर सकता हूं या मुझे इसे पुनर्स्थापित करने की आवश्यकता है? –

+1

आपको पुनः संयोजित करने की आवश्यकता होगी। – casevh

+0

@casevh पहले से स्थापित पायथन 3.2.2 को पुन: संकलित कैसे करें? –

8

डाउनलोड अजगर 3.3.2http://www.python.org/getit/

development libraries sqlite3 (और ReadLine, ssl, आदि जैसे अन्य मॉड्यूल) के लिए need to be installed before compiling Python from source. अजगर SQLite मॉड्यूल के लिए सी स्रोत कोड पायथन के स्रोत के साथ शामिल है; हालांकि इसे संकलित करने के लिए sqlite3 की विकास फ़ाइल की उपस्थिति की आवश्यकता है। यह एक अलग पुस्तकालय नहीं है लेकिन पायथन का हिस्सा है।

यदि आप स्रोत से स्थापित हैं, तो आपको sqlite3 के लिए विकास पुस्तकालय स्थापित करने की आवश्यकता है।

sudo apt-get install libsqlite3-dev 

संकुल/पुस्तकालयों स्रोत से अजगर संकलन इससे पहले कि मैं स्थापित करना चाहिए क्या हैं? https://askubuntu.com/questions/21547/what-are-the-packages-libraries-i-should-install-before-compiling-python-from-so

sudo apt-get install libreadline-dev 
sudo apt-get install libssl-dev 

आम देव वातावरण की सूची ...

build-essential (obviously) 
libz-dev  (also pretty common and essential) 
libreadline-dev (or the Python prompt is crap) 
libncursesw5-dev 
libssl-dev 
libgdbm-dev 
libsqlite3-dev 
libbz2-dev 
liblzma-dev 
tk-dev 
libdb-dev 
libncursesw5-dev 
libreadline5-dev 
libssl-dev 
libgdbm-dev 
libc6-dev 
libsqlite3-dev 

स्थापित अजगर

tar xf Python-3.3.2.tar.xz 
./configure 
make 
sudo make all install 
1

मेरे अजगर 3.4.1ubuntu पर एक ही समस्या थी 12.04, जब मैं SQLAlchemy library का उपयोग करता हूं। कारण यह था कि इस प्रश्न से संबंधित अन्य लोगों ने सुझाव दिया था कि पाइथन 3.4.1 संकलित और स्थापित करने से पहले मेरे सिस्टम में विकास पैकेज स्थापित नहीं था। तो मैंने किया:

sudo apt-get install libsqlite3-dev 

और फिर मेरी निकाले अजगर स्रोत के पास गया और इस सवाल के जवाब में बताए गए चरणों के रूप में फिर से compliation किया था। तब मैं कर रहा था करने के लिए:

Python 3.4.1 (default) 
[GCC 4.6.3] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import sqlite3 
>>> 
0

sqlite3 "अजगर" पैकेज का हिस्सा नहीं है, आप बंदरगाह से इसे स्थापित कर सकते हैं: डेटाबेस/py-sqlite3। चूंकि के कोई विशिष्ट पायथन 3 संस्करण नहीं हैं जो कि बंदरगाहों को आपको निर्माण से पहले PYTHON_VERSION = python3.5 सेट करने की आवश्यकता है। पैकेज के 2.x और 3.x संस्करण दोनों शांतिपूर्वक सह-अस्तित्व में हो सकते हैं।

मेकअप -सी/usr/बंदरगाहों/डेटाबेस/py-sqlite3 PYTHON_VERSION 3.5 स्थापित

संबंधित मुद्दे