2

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

-Project1(Django 项目)
 - 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
4

2 回答 2

4

You seem to be adding path to mysite package, not Project1. But app1 is located in Project1, so Python can't find it.

Try this:

sys.path.append("/home/jack/workspace/Project1")
于 2013-07-15T20:49:37.257 回答
2

从你的绘图来看,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/")'。

于 2013-07-15T20:49:23.783 回答