Domanda

Sto cercando di installare pysqlite ed avere problemi con questo. Ho scoperto che la ragione più probabile che manca le intestazioni SQLite e devo installarli. La mia piattaforma: CentOS 5.3 rilasciano (finale). Ho Python-2.6.2.

Inoltre ho scoperto che ho bisogno di file .rpm. Per quanto li ho eseguo:

rpm -i sqlite3-devel-3.n.n.n.rpm

e tutto dovrebbe andare bene.

Tuttavia, non so dove trovare il file sqlite3-devel-3.n.n.n.rpm. Dovrebbe essere già sul mio sistema? Non riuscivo a individuarlo con "localizzare sqlite3-devel-3". Dovrei scaricarlo? Se sì dove posso trovarlo e quale versione dovrei usare? Voglio dire, il file .rpm dovrebbe essere, probabilmente, in linea con la versione di SQLite che ho sul mio computer? Se è il caso, come posso scoprire la versione del mio SQLite?

Se scriv "dal dbapi2 pysqlite2 importazione come sqlite" ottengo:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named pysqlite2

"Ricerca yum pysqlite" mi dà il seguente:

Loaded plugins: fastestmirror
Excluding Packages in global exclude
list Finished
==== Matched: pysqlite ==== python-sqlite.x86_64 : Python bindings
for sqlite.

A proposito, ho il seguente directory: /home/myname/opt/lib/python2.6/sqlite3 e ci ho i seguenti file:

dbapi2.py  dbapi2.pyc  dbapi2.pyo 
dump.py  dump.pyc  dump.pyo 
__init__.py  __init__.pyc  __init__.pyo  test

Se scriv "import unittest" e poi "importazione sqlite3 come sqlite" ottengo:

Traceback (most recent call last):  
File "<stdin>", line 1, in <module>  
File "/home/myname/opt/lib/python2.6/sqlite3/__init__.py", line 24, in <module>
    from dbapi2 import *   File "/home/myname/opt/lib/python2.6/sqlite3/dbapi2.py",
line 27, in <module>
    from _sqlite3 import * ImportError: No module named _sqlite3

Grazie in anticipo.

È stato utile?

Soluzione

È possibile utilizzare buildout per creare la versione localizzata del progetto. Questo installerà tutti i pacchetti necessari senza avere accesso sudo al server.

Per dare prova, effettuare le seguenti operazioni:

mkdir tmp
cd tmp
wget http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py
python bootstrap.py init
vim buildout.cfg

modifica buildout.cfg e sostituirlo con le seguenti:

[buildout]
parts = sqlite 

[sqlite]
recipe = zc.recipe.egg
eggs = pysqlite
interpreter = mypython

Ora, eseguire ./bin/buildout per ricostruire il progetto. Questo scaricherà tutti i pacchetti necessari e creare un nuovo interprete per voi che è possibile utilizzare test che è possibile accedere a SQLite.

./bin/buildout
./bin/mypython
>>> import sqlite3

Questo vi dà un ambiente controllato che è possibile utilizzare per sviluppare all'interno. Per ulteriori informazioni su buildout, è possibile guardare i video di PyCon 2009 sulla setuptools, Distutils e Buildout.

Uova e Buildout implementazione in Python - Parte 1

Uova e Buildout implementazione in Python - Parte 2

Uova e Buildout implementazione in Python - Parte 3

In bocca al lupo

Altri suggerimenti

Python 2.6 (e un po 'prima) includono SQLite Python org biblioteca rif quindi non dovreste aver bisogno di fare questo. Basta importare ed eseguire

In genere, è necessario installare il modulo python sqlite attraverso yum, qualcosa di simile a:

yum install python-sqlite

e quindi modificare il codice di cambiare i riferimenti a sqlite2 sqlite3.

A proposito, ogni volta che si leggono istruzioni per installare sqlite3-devel-3.n.n.n.rpm, le parti non sono n letterale; si suppone essere sostituiti con i numeri che specificano una versione del pacchetto rpm.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top