Django ModuleNotFound For scripts - python

This has been driving me up the wall. I have a Django project with the following tree structure, and am trying to run python helper_scripts/load_professors_into_db.py from the root directory
load_professors_into_db.py has the following code:
## TODO: FIX THIS DAMN IMPORT PATH. THE SCRIPT DOESNT RUN CAUSE OF IT
from ocubulum_dashboard.models import Researcher
import pandas as pd
df = pd.read_csv("helper_scripts/soc_myaces_list.csv")
df = df.dropna()
df = df[~pd.isnull(df["scopus_id"])]
df = df[df["scopus_id"] != 'None']
However, it keeps trying ModuleNotFound errors. I've tried adding __init__.py files everywhere, but that doesn't work either.
Traceback (most recent call last):
File "helper_scripts/load_professors_into_db.py", line 10, in <module>
from ocubulum_dashboard.models import Researcher
ModuleNotFoundError: No module named 'ocubulum_dashboard'
The problem doesn't only occur for this. For other scripts that I want to run such as scopus_scraper.py, I face this ridiculous import issue as well.
Traceback (most recent call last):
File "data_collectors/scopus/scopus_scraper.py", line 1, in <module>
from ocubulum_dashboard.models import Researcher
ModuleNotFoundError: No module named 'ocubulum_dashboard'
Can someone point me as to how to solve this problem? I'm on python 3.6.
Entire Folder Structure:
├── data_aggregators
│   ├── myaces_aggregator.py
│   └── scopus_aggregator.py
├── data_collectors
│   ├── execute_all.py
│   ├── __init__.py
│   ├── journals
│   │   ├── __init__.py
│   │   ├── journal_scraper.py
│   │   ├── master.py
│   │   ├── __pycache__
│   │   │   └── __init__.cpython-36.pyc
│   │   └── test.json
│   ├── nus_myaces
│   │   ├── __init__.py
│   │   ├── master.py
│   │   └── __pycache__
│   │   └── __init__.cpython-36.pyc
│   ├── __pycache__
│   │   └── __init__.cpython-36.pyc
│   └── scopus
│   ├── __init__.py
│   ├── master.py
│   ├── __pycache__
│   │   └── __init__.cpython-36.pyc
│   ├── scopus_scraper.py
│   └── scopus_wrapper
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-36.pyc
│   │   └── scopus_wrapper.cpython-36.pyc
│   └── scopus_wrapper.py
├── environment.yml
├── helper_scripts
│   ├── __init__.py
│   ├── load_professors_into_db.py
│   ├── __pycache__
│   │   └── __init__.cpython-36.pyc
│   └── soc_myaces_list.csv
├── __init__.py
├── manage.py
├── ocubulum
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-36.pyc
│   │   ├── settings.cpython-36.pyc
│   │   ├── settings_development.cpython-36.pyc
│   │   ├── urls.cpython-36.pyc
│   │   ├── views.cpython-36.pyc
│   │   └── wsgi.cpython-36.pyc
│   ├── settings_development.py
│   ├── settings.py
│   ├── static
│   ├── urls.py
│   ├── views.py
│   └── wsgi.py
├── ocubulum_dashboard
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   ├── 0001_initial.py
│   │   ├── __init__.py
│   │   └── __pycache__
│   │   ├── 0001_initial.cpython-36.pyc
│   │   └── __init__.cpython-36.pyc
│   ├── models.py
│   ├── __pycache__
│   │   ├── admin.cpython-36.pyc
│   │   ├── apps.cpython-36.pyc
│   │   ├── __init__.cpython-36.pyc
│   │   ├── models.cpython-36.pyc
│   │   ├── tests.cpython-36.pyc
│   │   └── views.cpython-36.pyc
│   ├── static
│   │   ├── css
│   │   │   ├── custom.css
│   │   │   └── side-menu.css
│   │   ├── img
│   │   │   └── logo.png
│   │   └── js
│   │   └── ui.js
│   ├── templates
│   │   └── ocubulum
│   │   ├── dashboard.html
│   │   └── layout.html
│   ├── tests.py
│   └── views.py
├── Procfile
├── __pycache__
│   └── __init__.cpython-36.pyc
├── README.md
├── requirements.txt
└── runtime.txt

Try from ..ocubulum_dashboard.models import Researcher.
Or add the folder containing ocubulum_dashboard to your PYTHONPATH.

Related

How to run django in a subpackage

My project results are as follows, django in automl/service, in automl/service/worker/suggester.py file has an import from automl.core import util and this file imported by views.py, when I run python service/manage.py runserver will raise the exception
from automl.core import util
ModuleNotFoundError: No module named 'automl'
how to solve this problem, does django can not run in a sub package?
├── automl
│   ├── __init__.py
│   ├── core
│   │   ├── __init__.py
│   │   └── base.py
│   ├── example
│   │   ├── __init__.py
│   │   └── demo.py
│   └── service
│   ├── __init__.py
│   ├── manage.py
│   ├── master
│   │   ├── __init__.py
│   │   └── urls.py
│   ├── settings.py
│   ├── worker
│   │   ├── __init__.py
│   │   ├── admin.py
│   │   ├── apps.py
│   │   ├── exceptions.py
│   │   ├── models.py
│   │   ├── suggester.py
│   │   ├── tests.py
│   │   ├── urls.py
│   │   └── views.py
│   ├── urls.py
│   └── wsgi.py
├── bin
├── build.sh
├── ci.yml
├── conf
│   └── log_config.json
└── docs

Problems with relative import

I run a file called test.py which has an import like this
from .nms.cpu_nms import cpu_nms, cpu_soft_nms
from .nms.gpu_nms import gpu_nms
When I run the file though, I get this error:
Traceback (most recent call last):
File "test.py", line 9, in <module>
from utils.nms_wrapper import nms
File /media/ryan/shakira/InsightFace_Pytorch/FaceBoxes.PyTorch/utils/nms_wrapper.py", line 7, in <module>
from .nms.cpu_nms import cpu_nms, cpu_soft_nms
ModuleNotFoundError: No module named 'utils.nms.cpu_nms'
I have tried doing
sys.path.append('/path/to/the/main/directory/')
But that too does not work,
EDIT:
This is my directory structure:
FaceBoxes.PyTorch/
├── data
│   ├── AFW
│   │   └── img_list.txt
│   ├── config.py
│   ├── data_augment.py
│   ├── FDDB
│   │   └── img_list.txt
│   ├── __init__.py
│   ├── PASCAL
│   │   └── img_list.txt
│   ├── __pycache__
│   │   ├── config.cpython-36.pyc
│   │   ├── data_augment.cpython-36.pyc
│   │   ├── __init__.cpython-36.pyc
│   │   └── wider_voc.cpython-36.pyc
│   ├── WIDER_FACE
│   │   └── img_list.txt
│   └── wider_voc.py
├── layers
│   ├── functions
│   │   ├── prior_box.py
│   │   └── __pycache__
│   │   └── prior_box.cpython-36.pyc
│   ├── __init__.py
│   ├── modules
│   │   ├── __init__.py
│   │   ├── multibox_loss.py
│   │   └── __pycache__
│   │   ├── __init__.cpython-36.pyc
│   │   └── multibox_loss.cpython-36.pyc
│   └── __pycache__
│   └── __init__.cpython-36.pyc
├── LICENSE
├── make.sh
├── models
│   ├── faceboxes.py
│   └── __init__.py
├── README.md
├── test.py
├── train.py
└── utils
├── box_utils.py
├── build.py
├── __init__.py
├── nms
│   ├── cpu_nms.c
│   ├── cpu_nms.pyx
│   ├── gpu_nms.cpp
│   ├── gpu_nms.hpp
│   ├── gpu_nms.pyx
│   ├── __init__.py
│   ├── nms_kernel.cu
│   ├── __pycache__
│   │   └── __init__.cpython-36.pyc
│   └── py_cpu_nms.py
├── nms_wrapper.py
├── __pycache__
│   ├── box_utils.cpython-36.pyc
│   ├── __init__.cpython-36.pyc
│   └── nms_wrapper.cpython-36.pyc
└── timer.py
Any suggestions would be really helpful, Thanks in advance.
There was no error in the imports, The problem was that there was a cython file which i had to compile which i had glossed over.And once i had compiled,the problem disappeared.

Gunicorn giving me Module Not Found Error

I'm attempting to build a Django blog.
I have a couple of apps in there, but for some reason Gunicorn is giving me trouble with the error - ModuleNotFoundError: No module named 'blog.wsgi'
├── Procfile
├── blog
│   ├── blog
│   │   ├── __init__.py
│   │   ├── __pycache__
│   │   │   ├── __init__.cpython-36.pyc
│   │   │   ├── settings.cpython-36.pyc
│   │   │   ├── urls.cpython-36.pyc
│   │   │   └── wsgi.cpython-36.pyc
│   │   ├── settings.py
│   │   ├── urls.py
│   │   └── wsgi.py
│   ├── db.sqlite3
│   ├── manage.py
│   ├── media
│   │   ├── 1820-3-large.jpg
│   │   ├── 1820-3-large_XGHcfcZ.jpg
│   │   ├── 1820-3-large_ZTmLkYt.jpg
│   │   ├── 1820-3-large_dPbPsPW.jpg
│   │   └── paul-morris-144777.jpg
│   ├── posts
│   │   ├── __init__.py
│   │   ├── __pycache__
│   │   │   ├── __init__.cpython-36.pyc
│   │   │   ├── admin.cpython-36.pyc
│   │   │   ├── models.cpython-36.pyc
│   │   │   └── views.cpython-36.pyc
│   │   ├── admin.py
│   │   ├── apps.py
│   │   ├── migrations
│   │   │   ├── 0001_initial.py
│   │   │   ├── 0002_auto_20171217_0000.py
│   │   │   ├── __init__.py
│   │   │   └── __pycache__
│   │   │   ├── 0001_initial.cpython-36.pyc
│   │   │   ├── 0002_auto_20171217_0000.cpython-36.pyc
│   │   │   └── __init__.cpython-36.pyc
│   │   ├── models.py
│   │   ├── static
│   │   │   └── posts
│   │   │   ├── css
│   │   │   ├── img
│   │   │   │   └── home.jpg
│   │   │   └── js
│   │   ├── templates
│   │   │   └── posts
│   │   │   ├── home.html
│   │   │   └── post_details.html
│   │   ├── tests.py
│   │   └── views.py
│   └── sitepages
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-36.pyc
│   │   ├── admin.cpython-36.pyc
│   │   ├── models.cpython-36.pyc
│   │   └── views.cpython-36.pyc
│   ├── admin.py
│   ├── apps.py
│   ├── migrations
│   │   ├── __init__.py
│   │   └── __pycache__
│   │   └── __init__.cpython-36.pyc
│   ├── models.py
│   ├── static
│   │   └── sitepages
│   │   ├── css
│   │   │   └── about.css
│   │   ├── img
│   │   └── js
│   ├── templates
│   │   └── sitepages
│   │   └── about.html
│   ├── tests.py
│   └── views.py
├── requirements.txt
└── venv
`
This is the bulk of my file tree as I see it. I don't see any issues, but I'm definitely overlooking something. Let me know if you'd like to see any other pieces of code.
My Procfile says -
web: gunicorn blog.wsgi --log-file -
This is my wsgi.py file -
This is wsgi.py -
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "blog.settings")
application = get_wsgi_application()

How set setting environment with DJANGO_SETTINGS_MODULE

I am new in Python \ Django and I have some question about settings environment. I use git for edit my project and on server I have production project. But when I edit project on local machine I have my own settings(DATABASE) so if I pull edited project on server I need to change my settings, so I want to set DJANGO_SETTINGS_MODULE, but I don't know what path I must set and where I must allocate my default setting.
This is my hierarchy:
wow
├── core
│   ├── admin.py
│   ├── api_views.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   ├── 0001_initial.py
│   │   ├── __init__.py
│   │   └── __pycache__
│   ├── models.py
│   ├── __pycache__
│   │   ├── admin.cpython-35.pyc
│   │   ├── api_views.cpython-35.pyc
│   │   ├── __init__.cpython-35.pyc
│   │   ├── models.cpython-35.pyc
│   │   ├── sitemap.cpython-35.pyc
│   │   ├── urls.cpython-35.pyc
│   │   └── views.cpython-35.pyc
│   ├── sitemap.py
│   ├── tests.py
│   ├── urls.py
│   └── views.py
├── manage.py
├── media
│   └── core
│   ├── iUcZCekdW68_FrqsEHv.jpg
│   ├── iUcZCekdW68.jpg
│   ├── qWI5I5NuIeg.jpg
│   ├── server1.png
│   └── server2.png
├── not_found
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   ├── __init__.py
│   │   └── __pycache__
│   ├── models.py
│   ├── __pycache__
│   │   ├── admin.cpython-35.pyc
│   │   ├── __init__.cpython-35.pyc
│   │   ├── models.cpython-35.pyc
│   │   ├── urls.cpython-35.pyc
│   │   └── views.cpython-35.pyc
│   ├── tests.py
│   ├── urls.py
│   └── views.py
├── requirements.txt
├── settings.py
├── static
│   ├── admin
│   │   ├── css
│   │   ├── fonts
│   │   ├── img
│   │   └── js
│   └── core
│   ├── css
│   ├── img
│   └── js
├── staticfiles
│   ├── admin
│   │   ├── css
│   │   ├── fonts
│   │   ├── img
│   │   └── js
│   └── core
│   ├── css
│   ├── img
│   └── js
├── templates
│   ├── 404.html
│   ├── admin
│   │   ├── base.html
│   │   ├── base_site.html
│   │   └── index.html
│   ├── character.html
│   ├── characters.html
│   ├── checkout.html
│   ├── index.html
│   └── server.html
├── url.xml
└── wow
├── gunicorn.conf.py
├── __init__.py
├── __pycache__
│   ├── __init__.cpython-35.pyc
│   ├── settings.cpython-35.pyc
│   ├── urls.cpython-35.pyc
│   └── wsgi.cpython-35.pyc
├── settings.py
├── urls.py
├── views.py
└── wsgi.py
What i must do, end where i must write os.environ["DJANGO_SETTINGS_MODULE"] = wow.settings, or something like this?

twisted module of python3 portion missing on osx

I can only find portion of twisted in my python3 on OSX but complete in python2,
Some important packages missing here, such as
twisted.application
It will be the same result no matter whether by download complete package or by run pip3
python3 setup3.py install
or
sudo pip3 install twisted
$ tree -L 2 /usr/local/lib/python3.4/site-packages/twisted
/usr/local/lib/python3.4/site-packages/twisted
├── __init__.py
├── __pycache__
│   ├── __init__.cpython-34.pyc
│   ├── _version.cpython-34.pyc
│   └── copyright.cpython-34.pyc
├── _version.py
├── copyright.py
├── cred
│   ├── __init__.py
│   ├── __pycache__
│   ├── _digest.py
│   ├── credentials.py
│   ├── error.py
│   └── test
├── internet
│   ├── __init__.py
│   ├── __pycache__
│   ├── _baseprocess.py
│   ├── _glibbase.py
│   ├── _newtls.py
│   ├── _posixstdio.py
│   ├── _signals.py
│   ├── _sslverify.py
│   ├── abstract.py
│   ├── address.py
│   ├── base.py
│   ├── default.py
│   ├── defer.py
│   ├── endpoints.py
│   ├── epollreactor.py
│   ├── error.py
│   ├── fdesc.py
│   ├── gireactor.py
│   ├── gtk3reactor.py
│   ├── interfaces.py
│   ├── kqreactor.py
│   ├── main.py
│   ├── pollreactor.py
│   ├── posixbase.py
│   ├── process.py
│   ├── protocol.py
│   ├── reactor.py
│   ├── selectreactor.py
│   ├── ssl.py
│   ├── task.py
│   ├── tcp.py
│   ├── test
│   ├── threads.py
│   ├── udp.py
│   └── utils.py
├── logger
│   ├── __init__.py
│   ├── __pycache__
│   ├── _buffer.py
│   ├── _file.py
│   ├── _filter.py
│   ├── _flatten.py
│   ├── _format.py
│   ├── _global.py
│   ├── _io.py
│   ├── _json.py
│   ├── _legacy.py
│   ├── _levels.py
│   ├── _logger.py
│   ├── _observer.py
│   ├── _stdlib.py
│   ├── _util.py
│   └── test
├── names
│   ├── __init__.py
│   ├── __pycache__
│   ├── _rfc1982.py
│   ├── _version.py
│   ├── cache.py
│   ├── client.py
│   ├── common.py
│   ├── dns.py
│   ├── error.py
│   ├── hosts.py
│   ├── resolve.py
│   ├── root.py
│   └── test
├── protocols
│   ├── __init__.py
│   ├── __pycache__
│   ├── basic.py
│   ├── loopback.py
│   ├── policies.py
│   ├── test
│   └── tls.py
├── python
│   ├── __init__.py
│   ├── __pycache__
│   ├── _tzhelper.py
│   ├── compat.py
│   ├── components.py
│   ├── constants.py
│   ├── context.py
│   ├── deprecate.py
│   ├── dist.py
│   ├── dist3.py
│   ├── failure.py
│   ├── filepath.py
│   ├── lockfile.py
│   ├── log.py
│   ├── modules.py
│   ├── monkey.py
│   ├── procutils.py
│   ├── randbytes.py
│   ├── reflect.py
│   ├── runtime.py
│   ├── systemd.py
│   ├── test
│   ├── threadable.py
│   ├── threadpool.py
│   ├── urlpath.py
│   ├── usage.py
│   ├── util.py
│   ├── versions.py
│   └── win32.py
├── test
│   ├── __init__.py
│   ├── __pycache__
│   ├── iosim.py
│   ├── proto_helpers.py
│   ├── reflect_helper_IE.py
│   ├── reflect_helper_VE.py
│   ├── reflect_helper_ZDE.py
│   ├── ssl_helpers.py
│   ├── test_abstract.py
│   ├── test_compat.py
│   ├── test_context.py
│   ├── test_cooperator.py
│   ├── test_defer.py
│   ├── test_defgen.py
│   ├── test_error.py
│   ├── test_factories.py
│   ├── test_failure.py
│   ├── test_fdesc.py
│   ├── test_internet.py
│   ├── test_iosim.py
│   ├── test_iutils.py
│   ├── test_lockfile.py
│   ├── test_log.py
│   ├── test_loopback.py
│   ├── test_modules.py
│   ├── test_monkey.py
│   ├── test_paths.py
│   ├── test_policies.py
│   ├── test_process.py
│   ├── test_randbytes.py
│   ├── test_reflect.py
│   ├── test_setup.py
│   ├── test_ssl.py
│   ├── test_sslverify.py
│   ├── test_task.py
│   ├── test_tcp.py
│   ├── test_tcp_internals.py
│   ├── test_threadable.py
│   ├── test_threadpool.py
│   ├── test_threads.py
│   ├── test_twisted.py
│   ├── test_udp.py
│   ├── test_usage.py
│   └── testutils.py
├── trial
│   ├── __init__.py
│   ├── __pycache__
│   ├── _asyncrunner.py
│   ├── _asynctest.py
│   ├── _synctest.py
│   ├── itrial.py
│   ├── reporter.py
│   ├── test
│   ├── unittest.py
│   └── util.py
└── web
├── __init__.py
├── __pycache__
├── _newclient.py
├── _responses.py
├── _version.py
├── client.py
├── error.py
├── html.py
├── http.py
├── http_headers.py
├── iweb.py
├── resource.py
├── script.py
├── server.py
├── static.py
├── test
└── util.py
27 directories, 167 files
# longqi at LQMacPro.local in ~/Downloads/Twisted-15.2.1 [18:56:34]
$
Sorry. All of this is because the twisted team is still working on the porting process.
https://twistedmatrix.com/trac/wiki/Plan/Python3

Categories

Resources