2013-07-15 12 views
0

Я пытаюсь импортировать модели из проекта Django в другой проект. Я нашел два решения: сначала использовал os.environ ['PYTHONPATH'] и второй использовал sys.path.append(). Моя структура проекта:Нет модуля с именем sys.path.append

-Project1 (Django Project)
  - MySite
      - settings.py
      - ...
  - App1
      - модели. py
      - ...

Проект2 (без Джанго проекта)
  - тест
      - dog.py

И в dog.py файле:

import sys 
import os 

sys.path.append("/home/jack/workspace/Project1/mysite") 
os.environ['DJANGO_SETTINGS_MODULE'] ="mysite.settings" 
from app1 import models 

Но консоль показать мне:

from app1 import models 
ImportError: No module named app1 
+0

Я бы просто добавить приложение 1 к вашему SYS пути, а затем импортировать модели. – debianplebian

ответ

1

С вашего рисунка, app1 является родным братом до mysite, т. е. находится в /home/jack/workspace/Project1/app1/, а не /home/jack/workspace/Project1/mysite/app1/.

Таким образом, sys.path.append("/home/jack/workspace/Project1/mysite") не собирается вам ничего хорошего; вам нужно `sys.path.append ("/home/jack/workspace/Project1/") '.

0

Вы, кажется, добавили путь к mysite пакетам, а не Project1. Но app1 находится в Project1, поэтому Python не может его найти.

Попробуйте это:

sys.path.append("/home/jack/workspace/Project1") 
Смежные вопросы