J'ai déployé un projet django sur un serveur fonctionnant sous Debian Lenny. Chaque fois qu'il démarre l'avertissement suivant apparaît:UserWarning: Le module _mysql a déjà été importé de /usr/lib/pymodules/python2.6/_mysql.so
/var/www/environment/XXX/src/django-pytest/django_pytest/test_runner.py:3: UserWarning: Module _mysql was already imported from /usr/lib/pymodules/python2.6/_mysql.so, but /usr/lib/pymodules/python2.6 is being added to sys.path
from pkg_resources import load_entry_point
Il y a plus d'un projet Django sur ce serveur particulier, chacun fonctionnant à l'intérieur de leur propre virtualenv (avec les paquets Python installés par pip). Cependant, ils accèdent également aux packages de site à l'échelle du système (qui sont installés via apt-get install
).
Ce projet particulier a les paquets Python suivants:
$ /var/www/environment/XXX/bin/pip freeze --local
Django==1.2.4
Fabric==0.9.4
South==0.7.3
distribute==0.6.10
django-pagination==1.0.7
-e git+http://github.com/galileo-press/[email protected]#egg=django_pytest-0.1.4-py2.6-dev
django-sorting==0.1
django-templatetag-sugar==0.1
paramiko==1.7.6
py==1.4.3
pycrypto==2.3
pytest==2.0.0
sous debian python-mysqldb 1.2.2-10 + b1 est installé et les fichiers vivent dans
$ apt-file list python-mysqldb
python-mysqldb: /usr/lib/pyshared/python2.5/_mysql.so
python-mysqldb: /usr/lib/pyshared/python2.6/_mysql.so
python-mysqldb: /usr/share/pyshared/MySQL_python-1.2.2.egg-info/PKG-INFO
python-mysqldb: /usr/share/pyshared/MySQL_python-1.2.2.egg-info/SOURCES.txt
python-mysqldb: /usr/share/pyshared/MySQL_python-1.2.2.egg-info/dependency_links.txt
python-mysqldb: /usr/share/pyshared/MySQL_python-1.2.2.egg-info/top_level.txt
python-mysqldb: /usr/share/pyshared/MySQLdb/__init__.py
...
Bien que ce soit seulement un ennui mineur, j'aime vraiment résoudre ce problème.
Quelqu'un peut-il aider?
Mise à jour: est ici la sortie du jaune:
Cheetah - 2.4.2.1 - active development (/usr/lib/pymodules/python2.6)
Django - 1.2.3 - non-active development (/usr/lib/pymodules/python2.6)
Django - 1.2.4 - active
Fabric - 0.9.4 - active
Jinja2 - 2.5.5 - active development (/usr/lib/pymodules/python2.6)
Logbook - 0.3 - active development (/usr/local/lib/python2.6/dist-packages/Logbook-0.3-py2.6-linux-x86_64.egg)
MarkupSafe - 0.9.2 - active development (/usr/lib/python2.6/dist-packages)
MySQL-python - 1.2.2 - active development (/usr/lib/pymodules/python2.6)
PIL - 1.1.7 - active development (/usr/lib/python2.6/dist-packages/PIL)
Python - 2.6.6 - active development (/usr/lib/python2.6/lib-dynload)
South - 0.7.3 - active
boto - 1.9b - active development (/usr/lib/pymodules/python2.6)
distribute - 0.6.10 - active
distribute - 0.6.14 - non-active development (/usr/lib/python2.6/dist-packages)
django-pagination - 1.0.7 - active
django-pytest - 0.1.4 - active development (/var/www/environment/XXX/src/django-pytest)
django-sorting - 0.1 - active
django-templatetag-sugar - 0.1 - active
flup - 1.0.2 - active development (/usr/lib/pymodules/python2.6)
lxml - 2.2.8 - active development (/usr/lib/python2.6/dist-packages)
mercurial - 1.6.4 - active development (/usr/lib/pymodules/python2.6)
paramiko - 1.7.6 - active
pip - 0.7.2 - active
psycopg2 - 2.2.1 - active development (/usr/lib/python2.6/dist-packages)
py - 1.3.3 - non-active development (/usr/lib/pymodules/python2.6)
py - 1.4.1 - non-active
py - 1.4.3 - active
pycrypto - 2.3 - active
pytest - 2.0.0 - active
python-amazon-product-api - 0.2.5a1 - active development (/var/www/environment/XXX/src/amazonproduct)
python-amazon-product-api - 0.2.5a1 - active development (/var/www/environment/XXX/src/amazonproduct)
python-amazon-product-api - 0.2.5a1 - non-active development (/usr/local/lib/python2.6/dist-packages/python_amazon_product_api-0.2.5a1-py2.6.egg)
python-amazon-product-api - 0.2.5a1 - non-active development (/usr/local/lib/python2.6/dist-packages/python_amazon_product_api-0.2.5a1-py2.6.egg)
python-dateutil - 1.4.1 - active development (/usr/lib/pymodules/python2.6)
setuptools - 0.6c11 - active development (/usr/lib/python2.6/dist-packages)
stdeb - 0.6.0 - active development (/usr/lib/pymodules/python2.6)
virtualenv - 1.4.9 - active development (/usr/lib/pymodules/python2.6)
web.py - 0.34 - active development (/usr/lib/pymodules/python2.6)
wsgiref - 0.1.2 - active development (/usr/lib/python2.6)
yolk - 0.4.1 - active
Mise à jour 2: Mes sys.path
s sont:
/var/www/environment/XXX/bin/python -c "import sys; print '\n'.join(sys.path)"
/var/www/environment/XXX/lib/python2.6/site-packages/distribute-0.6.10-py2.6.egg
/var/www/environment/XXX/lib/python2.6/site-packages/pip-0.7.2-py2.6.egg
/var/www/environment/XXX/src/django-pytest
/var/www/environment/XXX/src/amazonproduct
/var/www/environment/XXX/lib/python2.6
/var/www/environment/XXX/lib/python2.6/plat-linux2
/var/www/environment/XXX/lib/python2.6/lib-tk
/var/www/environment/XXX/lib/python2.6/lib-old
/var/www/environment/XXX/lib/python2.6/lib-dynload
/usr/lib/python2.6
/usr/lib64/python2.6
/usr/lib/python2.6/plat-linux2
/usr/lib/python2.6/lib-tk
/usr/lib64/python2.6/lib-tk
/var/www/environment/XXX/lib/python2.6/site-packages
/usr/local/lib/python2.6/dist-packages/Logbook-0.3-py2.6-linux-x86_64.egg
/usr/lib/python2.6/dist-packages/PIL
/usr/local/lib/python2.6/dist-packages/python_amazon_product_api-0.2.5a1-py2.6.egg
/usr/lib/pymodules/python2.6
/usr/local/lib/python2.6/site-packages
/usr/local/lib/python2.6/dist-packages
/usr/lib/python2.6/dist-packages
Quand vous faites la même chose avec python manage.py shell
j'obtenir la même liste avec l'exception de
/usr/lib64/python2.6
manquant.
pouvez-vous installer jaune "pip install yolk" à l'intérieur de la virtualenv et ensuite faire jaune - liste et afficher vos résultats? –
@KenCochrane: La liste était trop longue pour un commentaire. Je l'ai ajouté à la question. – basti
donc la sortie jaune montre que vous n'avez qu'un seul MySQL-python installé ce qui est bien, mais il ne répond pas à la question d'origine. Pouvez-vous modifier la question pour ajouter votre sys.path? Aussi est-il une raison pour laquelle vous créez votre virtualenv avec des paquets de site? Si cela n'a pas d'importance essayez de créer un nouveau virtualenv sans paquets de site et voyez si vous avez toujours la même erreur. Ce n'est pas idéal, mais quelque chose à essayer. –