J'utilise centos linux.
J'avais python 2.6 avec Django et maintenant je suis passé à python 2.7.
Python 2.6 se trouve dans /usr/lib/python2.6.
Python 2.7 se trouve dans /usr/local/lib/python2.7.
Ils ont tous les deux un répertoire de packages de sites et ils contiennent tous les deux Django 1.2.
Si je lance python j'obtiens la version 2.7.
Mon problème est que si vous essayez d'importer Django j'obtiens
ImportError: aucun module nommé Django
Je ne sais pas où mon PYTHONPATH est défini et si c'est ce que je dois changer. n'importe qui ?
j'ai fini par faire un lien symbolique vers le répertoire des sites-packages 2.6.
Pour vérifier votre chemin, vous pouvez utiliser le code suivant:
import sys
print(sys.path)
Si vous savez déjà où Django est installé, il devrait être facile de tester si le répertoire souhaité se trouve sur votre chemin avec directory in sys.path
.
En ce qui concerne l'emplacement de votre PYTHONPATH
, notez qu'il s'agit d'une variable d'environnement, vous pouvez donc vérifier sa valeur (si elle est définie) avec: echo $PYTHONPATH
J'ai eu la même erreur, et cela résout mon problème
python -m pip install Django
:) Terminé!
Sous linux, vous pouvez définir la variable d'environnement PYTHONPATH dans votre .profile ou .bashrc. Vous pouvez soit le modifier directement à partir du terminal en accédant à votre répertoire personnel (cd ~), puis modifier le fichier (nano .bashrc), ou en ouvrant le fichier avec gtkedit ou vim ou autre, et ajouter:
PYTHONPATH=/usr/local/lib/python2.7/site-packages:/another/path/etc
Si vous souhaitez tester cela avant de modifier votre profil, vous pouvez l'exporter depuis le terminal en tant que:
export PYTHONPATH=/local/lib/python2.7/site-packages
Je suppose que vous exécutez cela directement à partir de la ligne de commande. Si vous l'exécutez en tant que module wsgi dans Apache, vous pouvez l'ajouter à votre syspath à partir de votre fichier wsgi en tant que:
import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')
essayer
pip freeze
cette commande affiche les packages installés sur votre système, puis s'exécute avec le privilège root
pip install Django
puis créez un nouveau projet avec la commande
Django-admin.py startproject mysite
puis lancez votre projet
cd path/to/mysite
./manage.py runserver
dans le fichier wsgi.py ajoutez ces lignes
import os
import sys
Django_PATH = os.path.join(os.path.abspath(os.path.dirname(__file__)), '..')
sys.path.append(Django_PATH)
Essayez d'imprimer sys.path
pour voir ce qui se trouve sur votre chemin. Django doit être dans l'un des répertoires répertoriés. Exemple sous Windows:
>>> import sys
>>> for p in sys.path: print p
C:\Python27\Lib\idlelib
C:\Windows\system32\python27.Zip
C:\Python27\DLLs
C:\Python27\lib
C:\Python27\lib\plat-win
C:\Python27\lib\lib-tk
C:\Python27
C:\Python27\lib\site-packages
>>>