путь поиска импорта django - PullRequest
2 голосов
/ 11 июня 2009

Я настраиваю автозаполнение для python и django в vim. Одна из проблем заключается в том, что мне нужно установить переменную окружения DJANGO_SETTINGS_MODULE = myapp.settings. Учебник по Джанго утверждает, что

Значение DJANGO_SETTINGS_MODULE должен быть в синтаксисе пути Python, например mysite.settings. Обратите внимание, что модуль настроек должен быть на Python путь поиска импорта.

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

Но если ваше приложение не находится в пути поиска импорта, как сделать так, чтобы оно было?

Ответы [ 4 ]

4 голосов
/ 11 июня 2009

Попробуйте добавить путь к sys.path во время выполнения.

import sys
sys.path.append('/path/to/myapp')
3 голосов
/ 11 июня 2009

Три варианта.

  1. Установите PYTHONPATH переменную окружения, чтобы включить каталог вашего приложения. Убедитесь, что у него есть файл __init__.py.

  2. Создайте файл .pth в пакетах сайта, чтобы он указывал на каталог вашего приложения.

  3. Установите ваше приложение в пакетах сайта.

Это три способа «установки» модуля Python. Подробнее о модуле site .

3 голосов
/ 11 июня 2009

Добавьте это в .bashrc или .bash_profile

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

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

0 голосов
/ 31 декабря 2014

импорт из пути, содержащего каталог с модулем (с файлом __init__.py)

пример:

dm@batman:~/.local/15/lib/python2.7/site-packages $ pwd
/home/d/dm/.local/15/lib/python2.7/site-packages

dm@batman:~/.local/15/lib/python2.7/site-packages $ ls
django  Django-1.5.11-py2.7.egg-info

dm@batman:~/.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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...