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

2024-04-19 19:37:32 发布

您现在位置:Python中文网/ 问答频道 /正文

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

-项目1(Django项目)
-mysite
-设置.py
     - ...
-app1
-型号.py
    - ...

项目2(无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

Tags: path项目djangofrompy模型importos
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/”)。

您似乎正在向mysite包添加路径,而不是Project1。但是app1位于Project1中,所以Python找不到它。

试试这个:

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

相关问题 更多 >