没有使用sys.path.append命名的模块

时间:2013-07-15 20:47:18

标签: python django path importerror

我正在尝试从我的Django项目导入模型到另一个项目。我找到了两个解决方案 首先使用os.environ ['PYTHONPATH'],然后使用sys.path.append()。我的项目结构:

-Project1(Django Project)
- mysite
- settings.py
- ......
- app1
  - models.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

2 个答案:

答案 0 :(得分:2)

从您的绘图中,app1mysite的兄弟姐妹 - 也就是说,它位于/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 /")'。

答案 1 :(得分:2)

您似乎在添加mysite包的路径,而不是Project1。但app1位于Project1,因此Python无法找到它。

试试这个:

sys.path.append("/home/jack/workspace/Project1")