2009-09-24 14 views
1

J'essaye d'installer pysqlite et ai des ennuis avec cela. J'ai découvert que la raison la plus probable de cela est manquante en-têtes sqlite et je dois les installer. Ma plate-forme: CentOS version 5.3 (Final). J'ai Python-2.6.2. J'ai aussi découvert que j'avais besoin de fichiers .rpm. Dans la mesure où je les ai, j'exécute:Comment dois-je gérer les progiciels?

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

et tout ira bien.

Cependant, je ne sais pas où trouver le fichier sqlite3-devel-3.n.n.rpm. Devrait-il déjà être sur mon système? Je ne pouvais pas le localiser avec "locate sqlite3-devel-3". Dois-je télécharger ce fichier? Si oui, où puis-je le trouver et quelle version dois-je utiliser? Je veux dire, le fichier .rpm devrait être, probablement, cohérent avec la version de sqlite que j'ai sur mon ordinateur? Si c'est le cas, comment puis-je connaître la version de mon sqlite?

Si je tape "de pysqlite2 importation dbapi2 comme sqlite" je reçois:

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

"recherche miam pysqlite" me donne ce qui suit:

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

D'ailleurs, je donne les résultats suivants répertoire: /home/myname/opt/lib/python2.6/sqlite3 et là j'avoir les fichiers suivants:

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

Si je tape « unittest d'importation » et « sqlite3 d'importation comme sqlite » je reçois:

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 

Merci à l'avance.

Répondre

2

Vous pouvez utiliser le buildout pour créer une version localisée de votre projet. Cela installera tous les paquets nécessaires sans avoir accès sudo au serveur.

Pour donner l'essayer, procédez comme suit:

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

modifier buildout.cfg et le remplacer par ce qui suit:

[buildout] 
parts = sqlite 

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

Maintenant, exécutez ./bin/buildout pour reconstruire le projet. Cela va télécharger tous les paquets nécessaires et créer un nouvel interpréteur pour vous que vous pouvez utiliser test que vous pouvez accéder à sqlite.

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

Cela vous donne un environnement contrôlé que vous pouvez utiliser pour développer à l'intérieur de. Pour en savoir plus sur le buildout, vous pouvez regarder des vidéos de pycon 2009 sur Setuptools, Distutils et Buildout.

Eggs and Buildout Deployment in Python - Part 1

Eggs and Buildout Deployment in Python - Part 2

Eggs and Buildout Deployment in Python - Part 3

Bonne chance

3

Python 2.6 (et certains plus tôt) incluent sqlite Python org library ref donc vous ne devriez pas avoir besoin de faire cela. Il suffit de l'importer et exécuter

+0

Si je tape "de dbapi2 d'importation pysqlite2 comme sqlite" Je reçois: retraçage (appel le plus récent en dernier): Fichier " ", ligne 1, en ImportError: aucun module nommé pysqlite2 – Verrtex

+1

Effectuez une recherche dans votre référentiel centos à l'aide de la fonctionnalité de recherche de yum. miam recherche pysqlite je reçois: python-sqlite.i386 1.1.7-1.2.1 installé apparié de: http://pysqlite.org/ Dans mon système, il est un module appelé sqlite3 – whatnick

+1

Lorsque la bibliothèque était inclus dans Python c'était pour sqlite3 et renommé en sqlite3 Je doute que vous ayez besoin de l'ancien sqlite2 – Mark

1

En règle générale, vous devez installer le module python sqlite par yum, quelque chose comme:

yum install python-sqlite 

puis modifiez votre code de changement sqlite2 références à sqlite3. Par ailleurs, lorsque vous lisez les instructions pour installer sqlite3-devel-3.n.n.n.rpm, les pièces n ne sont pas littérales; ils sont supposés être remplacés par des nombres spécifiant une version du paquetage rpm.

+0

Quand j'utilise yum "install python-sqlite" j'obtiens: Vous devez être root pour effectuer cette commande . Puis-je installer sqlite sans les privilèges root? – Verrtex

+1

Généralement, pas. Donc, si vous pouvez utiliser sudo sur cette machine, vous devriez faire 'sudo yum install python-sqlite' et entrer votre mot de passe, ou vous devriez demander à l'administrateur système de le faire pour vous. – tzot