【问题标题】:No module named using sys.path.append没有使用 sys.path.append 命名的模块
【发布时间】:2013-07-15 20:47:18
【问题描述】:

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

-Project1(Django 项目)
- 我的网站
- 设置.py
- ...
- 应用程序1
-models.py
- ...

Project2(没有 Django 项目)
- 测试
- 狗.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

【问题讨论】:

  • 我只需将应用程序 1 添加到您的系统路径,然后导入模型。

标签: python django path importerror


【解决方案1】:

您似乎添加了mysite 包的路径,而不是Project1。但是app1位于Project1,所以Python找不到。

试试这个:

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

【讨论】:

    【解决方案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/")'。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-02
      • 2017-06-13
      • 1970-01-01
      • 2015-11-13
      相关资源
      最近更新 更多