I'm trying import models from my Django project to another project. I found two solutions: first using os.environ['PYTHONPATH'] and second using sys.path.append(). My project structure:
-Project1(Django Project)
- mysite
- settings.py
- ...
- app1
- models.py
- ...
Project2(no Django Project)
- test
- dog.py
And in dog.py file:
import sys
import os
sys.path.append("/home/jack/workspace/Project1/mysite")
os.environ['DJANGO_SETTINGS_MODULE'] ="mysite.settings"
from app1 import models
But console show me:
from app1 import models
ImportError: No module named app1
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")
From your drawing, app1 is a sibling to mysite—that is, it's in /home/jack/workspace/Project1/app1/, not /home/jack/workspace/Project1/mysite/app1/.
So, sys.path.append("/home/jack/workspace/Project1/mysite") isn't going to do you any good; you need `sys.path.append("/home/jack/workspace/Project1/")'.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With