2017-09-14 5 views
0

Cela m'a fait monter le mur. J'ai un projet Django avec l'arborescence suivante, et essaie d'exécuter python helper_scripts/load_professors_into_db.py à partir du répertoire racineDjango ModuleNotFound Pour les scripts

load_professors_into_db.py a le code suivant:

## 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'] 

Cependant, il continue d'essayer des erreurs ModuleNotFound. J'ai essayé d'ajouter __init__.py partout, mais ça ne marche pas non plus.

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' 

Le problème ne se produit pas uniquement pour cela. Pour les autres scripts que je veux exécuter tels que scopus_scraper.py, je suis confronté à ce problème d'importation ridicule.

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' 

Quelqu'un peut-il me signaler comment résoudre ce problème? Je suis sur Python 3.6.

Structure du dossier complet:

├── 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 

Répondre

0

Essayez from ..ocubulum_dashboard.models import Researcher.

Ou ajoutez le dossier contenant ocubulum_dashboard à votre PYTHONPATH.

+0

Ni l'un ni l'autre ne semblent fonctionner. – Wboy