Ok, eu vejo muitos desses erros por aí. Eu tentei tudo o que sei fazer e ainda tenho que descobrir isso.
Estou trabalhando em um servidor de desenvolvimento executando python 2.5 e Django 1.3. O Django 1.3 foi instalado usando o python setup.py install após descompactar o download do tar.gz.
Tudo funciona bem, raramente preciso executar, manage.py
mas estou tentando usar o novo aplicativo staticfiles e estou tendo problemas.
python manage.py collectstatic
Traceback (most recent call last):
File "manage.py", line 2, in <module>
from django.core.management import execute_manager
ImportError: No module named core.management
Ok, então eu tenho PATH
problema.
Na instalação do Django, verifiquei meu site-packages
diretório.
python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/usr/lib/python2.5/site-packages
Ok, vamos verificar o que eu tenho, eco $ PYTHON_PATH estava vazio, então eu configurei
export PYTHON_PATH=/usr/lib/python2.5/site-packages/django
Ainda sem sorte. Vamos verificar o que sys.path tem a dizer
>>> import sys
>>> print sys.path
['', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/PIL', '/usr/lib/python2.5/site-packages/django', '/var/lib/python-support/python2.5']
caminho, eu até criei /usr/lib/python2.5/site-packages/django.pth com o conteúdo
cat /usr/lib/python2.5/site-packages/django.pth
/usr/lib/python2.5/site-packages/django/
Alguém tem pistas sobre o que está acontecendo aqui?
Encontrei um link simbólico no caminho que estava atrapalhando, mas não para um novo erro.
python manage.py collectstatic
Traceback (most recent call last):
File "manage.py", line 14, in <module>
execute_manager(settings)
File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 349, in execute
version=get_version(),
File "/usr/lib/python2.5/site-packages/django/__init__.py", line 12, in get_version
from django.utils.version import get_svn_revision
ImportError: No module named utils.version
Eu também tentei criar um novo projeto para ver se havia algum problema e obter o mesmo erro utils.version.
Nó lateral: Unode do #django me ajudou um pouco, configurou o virtualenv na mesma máquina e passou pelos erros, ainda não tendo certeza do que está acontecendo com essa instalação real aqui, mas parece não estar nos projetos do django, mas no django Instalação / python.
fonte
import django
no shell python?python manage.py syncdb
?Respostas:
Se, como eu, você está executando seu django em um virtualenv, e recebendo esse erro, observe o seu
manage.py
. A primeira linha deve definir o executável python usado para executar o script. Esse deve ser o caminho para o python do virtualenv, mas é algo errado como / usr / bin / python, que não é o mesmo caminho e usará o ambiente global de python (e os pacotes estarão ausentes). Apenas mude o caminho para o executável python no seu virtualenv.Você também pode substituir sua linha shebang por
#!/usr/bin/env python
. Isso deve usar o ambiente python e o interpretador adequados, desde que você ative seu virtualenv primeiro (presumo que você saiba como fazer isso).fonte
<path-to-my-env>/bin/python manage.py runserver
#!/Users/Chris/virtualenv/my_first_venv/bin/python
ou algo assim?Se você estiver em um virtualenv, precisará ativá-lo antes de poder executar ./manage.py 'command'
se você configurar o trabalho em .bash_profile ou .bashrc
* Por favor, não edite seu arquivo manage.py talvez funcione da maneira correta e não possa fornecer erros futuros
fonte
Eu tive o mesmo problema porque estava instalando o Django como superusuário, portanto não no meu virtualenv. Você não deveria fazer
sudo pip install Django
Em vez disso, instale-o desta maneira:
fonte
Por favor, reinstale o django com o pip:
(Substitua 1.3 à sua versão do django)
fonte
sudo
da instalação nos diretórios do sistema interferirá nos pacotes nativos e provavelmente quebrará pelo menos algumas partes da instalação do python. Eu recomendaria virtualenv.Como se sabe, esse era um problema de caminho.
a base dos meus pacotes personalizados compartilhava um nome com um diretório definido em / etc / profile. Os pacotes estavam em um local diferente, no entanto, para o servidor da web. Portanto, removi as entradas incorretas do meu $ PYTHONPATH e estava pronto!
Obrigado pela ajuda.
fonte
Outro motivo possível para esse problema é que seu sistema operacional executa python3 por padrão.
Você precisa fazer explicitamente:
python2 manage.py
ou você precisa editar o shebang de
manage.py
, assim:ou se você estiver usando python3:
fonte
#!/usr/bin/env python2.7
Eu tive esse erro ao tentar executar um sistema incorporado (usando django, é claro) em um Raspberry Pi 2 (e não em uma VM )
Executando isso:
Feito o truque!
fonte
Você provavelmente está usando virtualenvwrapper . Não se esqueça de selecionar seu ambiente executando:
fonte
Para mim, meu servidor estava usando o Python 2.4. Eu simplesmente procurei o Python 2.7, que estava instalado no meu servidor, e criei um alias.
Se você precisa saber mais, encontrei a solução aqui
fonte
Eu estava tendo o mesmo problema enquanto tentava criar um novo aplicativo. Se você escrever
python manage.py startapp myapp
, procurará usr / bin / python. Mas você precisa desse " python ", localizado no diretório / bin do seu caminho de env virtual . Eu resolvi isso mencionando o caminho python do virtualenv da seguinte maneira:fonte
Tente alterar sua primeira linha de manage.py.
mudança
de
fonte
#!/usr/bin/env python
por#!/usr/bin/python
Verifique a versão do Python
fonte
Resolvi-o!!!
Depois de pesquisar por idades e tentar todas essas outras sugestões que não funcionaram, finalmente encontrei a solução para minha configuração.
Minha configuração / cenário:
Solução
Remova qualquer pasta denominada django no mesmo diretório do manage.py
Está certo ... assim que removi a pasta "django", que continha apenas um arquivo __init__.py ... eu poderia executar o servidor novamente!
Não tenho idéia do porquê
fonte
Para aqueles que usam o Django 1.6 ou mais recente, observe que execute_manager foi removido . Há uma solução postada na segunda resposta SO aqui .
fonte
Armazene o caminho python python em uma variável e execute.Isso incluiria os pacotes ausentes.
fonte
Eu tive um problema parecido. PyCharm não pôde executar o servidor, mas eu poderia executá-lo na linha de comando. Tentei qual python e depois verifiquei se o PyCharm era o mesmo intérprete e tudo funcionou bem.
fonte
Este erro geralmente ocorre quando o django não está instalado. Se você já instalou o django, mas ainda está recebendo o mesmo erro, deve estar trabalhando em um ambiente virtual separado. Você também precisa instalar o django em seu ambiente virtual. Quando você estiver no shell da máquina virtual, faça o seguinte:
pip install django
É porque a máquina virtual possui um sistema de arquivos separado, que não reconhece o django, mesmo que esteja instalado no seu sistema.
fonte
Corrigi esse problema alterando #PATH = "$ VIRTUAL_ENV / bin: $ PATH" para PATH = "$ PATH: $ VIRTUAL_ENV / bin" Por razões que não são óbvias para mim, o executável python no diretório virtualenv não vê django, mas normalmente python instalado faz.
fonte
================================== SOLUÇÃO =============== ==========================
Primeiro a ir: virtualenv
executando o comando: bin de origem / ativar
e instale o django porque você está recebendo o erro relacionado a 'import django':
Então corra:
(Nota: altere 'runserver' para o nome do programa que você deseja executar)
Para o mesmo problema, funcionou no meu caso. ================================== Sinopse =============== ==========================
Durante o tratamento da exceção acima, ocorreu outra exceção:
Durante o tratamento da exceção acima, ocorreu outra exceção:
Durante o tratamento da exceção acima, ocorreu outra exceção:
APÓS A INSTALAÇÃO do django:
DEPOIS DE RESOLVER:
Boa sorte!!
fonte
seu projeto é criado usando uma versão antiga do django-admin.py, mais antiga que o django1.3
para corrigir isso, crie outro projeto django e copie seu manage.py e cole-o no antigo
fonte
Concordei completamente que este é um problema de caminho, mas fwiw, eu tive esse mesmo erro. Isso ocorreu devido ao erro de usar um caminho relativo para o meu executável Python ao configurar meu ambiente virtual. Eu tinha feito isso:
Em vez disso, tive que dar o caminho completo para o executável Python.
HTH, Harlin
fonte
fonte ~ / blog-venv / bin / ativar
escolha seu virtualenv para substituir "blog-venv" aqui.
fonte
File "manage.py", line 8, in <module> from django.core.management import execute_from_ ImportError: No module named django.core.management
Certifique-se de estar executando a instância correta do Python com os diretórios certos no caminho. No meu caso, esse erro resultou da execução do
python
executável por acidente - eu havia instalado o Django sob apython2.7
estrutura e as bibliotecas. O mesmo poderia acontecer como resultado do virtualenv também.fonte
Ok, então fica assim:
Você criou um ambiente virtual e o módulo django pertence apenas a esse ambiente. Como o virtualenv se isola de todo o resto, você está vendo isso.
passe por isso para obter mais assistência:
http://www.swegler.com/becky/blog/2011/08/27/python-django-mysql-on-windows-7-part-i-getting-started/
1.Você pode alternar para o diretório em que seu ambiente virtual está armazenado e, em seguida, executar o módulo django.
2.Alternativamente, você pode instalar o django globalmente no seu python-> site-packages executando pip ou easy_install
Comando usando pip: pip install django
então faça o seguinte:
import django print (django.get_version ()) (dependendo da versão do python que você usa.Isso para o python da série 3+)
e então você pode executar isto: python manage.py runserver e verificar no seu navegador digitando: localhost: 8000 e você verá a página do django.
Espero que isto ajude.
fonte
Incluí o nome do novo aplicativo na lista INSTALLED_APPS no settings.py "before" Emiti o comando startapp. Depois de remover a entrada da lista, eu poderia criar o aplicativo.
fonte
Resolvi esse problema usando o comando 'django-admin' da seguinte maneira:
django-admin startproject _project_name
basta remover o ".py" anexado ao "django-admin"
fonte
Ter um aplicativo chamado também
site
pode reproduzir esse problema.fonte
Eu entendi isso porque esqueci que instalei o Django usando
pip -U
, então ele estava disponível apenas para o usuário que executava meu aplicativo Django. Para executar o manage.py eu tive que fazerfonte
todos vocês não mencionaram um caso em que alguém "como eu" instalaria o django antes de instalar o virtualenv ... então, para todas as pessoas do meu tipo, se você fez isso ... reinstale o django depois de ativar o virtualenv..i espero que isto ajude
fonte