2013-07-15 46 views
0

我試圖從我的Django項目導入模型到另一個項目。我發現了兩個解決方案: 先使用os.environ ['PYTHONPATH'],然後使用sys.path.append()。我的項目結構:沒有使用sys.path.append命名模塊

-Project1(Django項目)
  - mysite的
      - settings.py
      - ...
  - APP1
      - 模型。 py
      - ...

Project2的(無Django項目)
  - 測試
      - 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")