Onde é que django dev server (manage.py runserver) obter o seu caminho?
-
25-09-2019 - |
Pergunta
Recentemente, mudou-se uma django app c:\Users\user\django-projects\foo\foobar
para c:\Python25\Lib\site-packages\foo\foobar
(o que é python caminho).Eu comecei um novo aplicativo no django-projects
diretório, e adicionados foo.foobar
para o INSTALLED_APPS
definição.Quando eu tento executar o dev server (manage.py runserver
) para meu novo aplicativo, recebo a mensagem de erro ImportError: No module named foobar
.
Olhando através do traço, é olhando nos c:\Users\user\django-projects\foo\..\foo\foobar
para o foobar
app.Eu chequei meu PATH
e PYTHONPATH
variáveis de ambiente, e nem aponte para c:\Users\user\django-projects\foo
e Ele não aparece na lista sys.path
quando eu executar o interpretador de python.
Eu estou supondo que de alguma forma eu adicionados c:\Users\user\django-projects\foo
para django caminho em algum momento ao longo do desenvolvimento da foo
mas eu não me lembro como eu fiz.
Assim, com todos os que levam, a minha pergunta é "como eu faço manage.py procurar em c:\Python25\Lib\site-packages
em vez de c:\Users\user\django-projects\foo
?"
Obrigado,
- Lexo
Solução
manage.py
importações settings.py a partir do diretório atual e passar settings
como parâmetro para execute_manager
.Você provavelmente projeto definido de raiz em settings.py.
Outras dicas
Eu fixo ele, apesar de eu não saber qual a solução que funcionou.Primeiro, eu apaguei .pyc
arquivos do meu projeto, então eu reindexadas minha pesquisa do Windows (eu estou supondo que isto o fez).Isso mudou a mensagem de erro para o diretório correto.Após o que, eu percebi que eu tinha
from baz import settings
no meu foobar/baz/models.py
arquivo, o que estava causando o problema ao longo de toda.Eu mudei isso para
import settings
que corrigiu o problema.Graças a laurent para toda sua ajuda :-)