2009-06-11 4 views
2

Je suis en train de configurer l'auto-complétion pour python et django dans vim. L'un des problèmes est que je dois définir une variable d'environnement DJANGO_SETTINGS_MODULE = myapp.settings. Le django états tutoriel quidjango importer le chemin de recherche

La valeur de DJANGO_SETTINGS_MODULE devrait être dans la syntaxe du chemin Python, par exemple, mysite.settings. Notez que le module de paramètres doit être sur le chemin de recherche d'importation Python .

http://docs.djangoproject.com/en/dev/topics/settings/

Mais si votre application est pas dans le chemin de recherche d'importation, comment voulez-vous faire en sorte qu'il est?

+0

Pourriez-vous s'il vous plaît préciser la question? Comment l'auto-complétion dans vim est-elle liée à cela? Vous n'avez pas besoin de DJANGO_SETTINGS_MODULE si vous n'exécutez pas réellement le framework Django et même alors, manage.py le gèrera souvent pour vous. Quel est le problème réel causé par la variable d'environnement manquante? –

Répondre

3

Trois choix.

  1. Définissez la variable d'environnement PYTHONPATH pour inclure le répertoire de votre application. Assurez-vous qu'il contient un fichier __init__.py.

  2. Créez un fichier .pth dans les packages de site pour pointer vers le répertoire de votre application.

  3. Installez votre application dans des packages de site.

Voici les trois façons d '«installer» un module Python. Lisez à propos du module site pour plus d'informations.

3

Essayez d'ajouter le chemin d'accès à sys.path lors de l'exécution.

import sys 
sys.path.append('/path/to/myapp') 
3

Ajouter dans vos .bashrc ou .bash_profile

export PATH=$PATH:/path/to/django/bin

export PYTHONPATH=$PYTHONPATH:/path/to/myapp

0

importation de chemin contenant dir avec le module (avec fichier __init__.py)

exemple:

[email protected]:~/.local/15/lib/python2.7/site-packages $ pwd 
/home/d/dm/.local/15/lib/python2.7/site-packages 

[email protected]:~/.local/15/lib/python2.7/site-packages $ ls 
django Django-1.5.11-py2.7.egg-info 

[email protected]:~/.local/15/lib/python2.7/site-packages $ python 
Python 2.7.3 (default, Feb 27 2014, 19:58:35) 
[GCC 4.6.3] on linux2 
>>> import sys 
>>> sys.path.append("/home/d/dgaloc/.local/15/lib/python2.7/site-packages") 
>>> import django 
>>> django.VERSION 
(1, 5, 11, 'final', 0) 
Questions connexes