У меня есть система, построенная на Python, в которой я теперь хочу периодически запускать некоторые функции с помощью обычного cron. Итак, я сделал файл, который начинается так:
#!/usr/bin/env python
from app.models import User
Когда я импортирую файл из интерактивной командной строки Python, у меня нет проблем:
>>> from app.crons import scrapeChannels
>>>
Но когда я запускаю файл прямо из терминала, я получаю ImportError:
$ /home/kramer65/app/crons/scrapeChannels.py
Traceback (most recent call last):
File "/home/kramer65/app/crons/scrapeChannels.py", line 2, in <module>
from app.models import User
ImportError: No module named app.models
Теперь я предполагаю, что это как-то связано с тем, что app.models
не в sys.path есть, но с этого момента я немного потерялся. Прав ли я в своем предположении? И как я могу решить эту проблему?
Все советы приветствуются!
app
и/или добавьте/home/kramer65
в пакетPYTHONPATH
(либо с помощью переменной среды, либо с помощью манипуляций сsys.path
в Python). - person Martijn Pieters   schedule 10.07.2015app.models
в файл, но тестируетеapp.crons
в командной строке? - person Dobz   schedule 10.07.2015