2016-02-22 2 views
1

Я пишу веб-приложение на основе python и django. У меня есть папка с исходным кодом, содержащая LIBS каталог с файлом utils.py. Когда я хочу установить приложение, новая строка добавляется в файл ~/.profile, например, export PYTHONPATH = $ PYTHONPATH:/home/test/src/LIBS (Путь добавляется на основе пути установки) Когда я запускаю приведенный ниже код в интерпретаторе путь в норме:Путь в PYTHONPATH не в пути django

import sys 
sys.path 

[ '', '/usr/lib/python2.7', '/ дом/тест/SRC/LIBS', «/ USR/lib/python2.7/plat-x86_64-linux-gnu ',' /usr/lib/python2.7/lib-tk ',' /usr/lib/python2.7/lib-old ','/usr/lib /python2.7/lib-dynload ',' /usr/local/lib/python2.7/dist-packages ',' /usr/lib/python2.7/dist-packages ','/usr/lib/pymodules/python2.7 ']

К сожалению, когда я хочу, чтобы загрузить домашнюю страницу моего приложения строку, которая импортирует утилиты вызывает исключение enter image description here

Что я сделал не так? Заранее спасибо.

ответ

0

Ваш ~/.profile только добавляет директорию PYTHONPATH в текущую среду оболочки. Это не глобально доступно. Когда django загружается, он использует wsgi.py и другой путь к проекту.

Самый простой способ добавить доступный по всему миру путь - это добавить файл .pth. Он должен находиться в каталоге python dist-packages (в зависимости от ОС):

$ sudo nano /usr/lib/python2.7/dist-packages/ 
/home/test/src/LIBS 

И сохраните файл.

Теперь приложение будет доступно для всех экземпляров python на вашем компьютере.

Если вы хотите добавить этот путь только к конкретному проекту Джанго, в wsgi.py добавить:

import sys 
sys.path.append("/home/test/src/LIBS") 
Смежные вопросы