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
Foi útil?

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 :-)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top