2017-02-19 3 views
1

У меня есть проект со следующей архитектурой:Невозможно получить доступ к файлу питон через питона путь

source/ 
├── data 
│   ├── job.py 
│   ├── __init__.py 
│   └── __pycache__ 
│    └── article_library.cpython-35.pyc 
├── graph 
├── __init__.py 
├── main.py 
└── settings 
    ├── __init__.py 
    ├── __pycache__ 
    │   ├── __init__.cpython-35.pyc 
    │   └── settings.cpython-35.pyc 
    └── settings.py 

И это мой путь питона:

['', '/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/usr/lib/python3.5/lib-dynload', '/home/user/Documents/thesis/venv/lib/python3.5/site-packages'] 

источник/настройки/настройки. ру

MY_TOKEN = "atokentodostuff" 

источник/__ init__.py

from settings import settings 

источник/main.py

from settings import settings 
print(settings.MY_TOKEN) 

Это выход мне, что:

atokentodostuff 

источник/данные/job.py

from ..settings import settings 
print(settings.MY_TOKEN) 

Но когда я интерпретирую этот код (независимо от того моя позиция в проекте), я получил следующее сообщение об ошибке:

Traceback (most recent call last): 
    File "job.py", line 3, in <module> 
    from ..settings import settings 
SystemError: Parent module '' not loaded, cannot perform relative import 

Как я могу получить доступ к переменной в моем settings.py в файл job.py. И есть ли способ заставить его запускаться повсюду?

+0

Google "почему у меня pycache?" для объяснения. – tburrows13

+0

Теперь я знаю, в чем цель __pycache__, но это не помогает мне решить проблему пути. – mel

+1

Извините, я только имел в виду это как побочный комментарий, чтобы помочь вам разобраться. Он не должен был отвечать на вопрос. – tburrows13

ответ

0

Try ниже фрагмент кода для источника/данных/job.py

from source.settings import settings 
print(settings.MY_TOKEN) 
+0

Где я должен запускать свой скрипт? – mel

+0

вы можете запустить скрипт из любого исходного каталога или любого вложенного каталога внутри исходного каталога, просто убедитесь, что вы установили PYTHONPATH в исходный каталог. – Dev

Смежные вопросы