Estou seguindo o tutorial do Django https://docs.djangoproject.com/es/1.10/intro/tutorial01/
Eu criei um projeto fictício "meusite" (meu primeiro) e tento testá-lo sem alterá-lo.
django-admin startproject mysite
cd mysite
python manage.py runserver
File "manage.py", line 14
) from exc
^
SyntaxError: invalid syntax
Estou recebendo um SyntaxError em um arquivo que foi gerado pelo próprio sistema. E parece que não consigo encontrar ninguém que tenha passado pelo mesmo problema.
Vou adicionar alguns dados da minha configuração no caso de ser útil
$ vpython --version
Python 2.7.12
$ pip --version
pip 9.0.1 from /home/frank/.local/lib/python2.7/site-packages (python 2.7)
$ python -m django --version
1.10.6
Alguém pode me ajudar por favor?
Atualização: adicionando conteúdo de manage.py autogenerated
cat manage.py
#!/usr/bin/env python3
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
python
syntax-error
Frank
fonte
fonte
Respostas:
Certifique-se de qual versão do python você conecta ao django (certifique-se de ativar o env virtual se estiver usando algum).
Quando você instala o django usando apenas
então você tem que correr
mais se você usou:
então você tem que correr
Referir:
fonte
python manage.py migrate
e alterando parapython3 manage.py migrate
consertar o erro.Você pode tentar
python3 manage.py runserver
. Funciona para mim.fonte
você deve ativar seu ambiente virtual. No terminal -> source env / bin / activate agora haverá ----> (env) em seu terminal exibido!
agora vai funcionar -> runserver.
Não há necessidade de deletar parte exc!
fonte
Eu estava experimentando o mesmo, mas isso foi resolvido executando com o python 3.6 específico conforme abaixo:
fonte
É uma solução simples, na verdade, uma que acabei de encontrar. Você ativou seu ambiente virtual?
minha captura de tela do terminal
fonte
Basta ativar seu ambiente virtual.
fonte
É melhor criar um ambiente virtual e executar seu código Django dentro deste ambiente virtual, isso ajuda a não alterar seus ambientes existentes. Aqui estão as etapas básicas para começar com o ambiente virtual e Django.
Crie um novo diretório e faça cd nele.
mkdir test
,cd test
Instale e crie um ambiente virtual.
python3 -m pip install virtualenv virtualenv venv -p python3
Ative o ambiente virtual:
source venv/bin/activate
Instale o Django:
pip install django
Comece um novo projeto:
django-admin startproject myproject
cd para o seu projeto e execute o projeto:
cd myproject
,python manage.py runserver
Você pode ver seu projeto aqui:
http://127.0.0.1:8000/
fonte
django3
noactivate
está localizado na.\venv\Script
pastaDepois de testar com instruções precisas (usando python2 ou python3 em vez de apenas "python"), constatei que não importa o que o tutorial diga, isso funciona SOMENTE com python3.
fonte
Para executar o Python versão 3, você precisa usar em
python3
vez depython
.Portanto, o comando final será:
fonte
A solução é simples. a exceção do manage.py é porque ao executar o comando com python, o Django é incapaz de prever a versão exata do python, digamos que você pode ter 3.6, 3.5, 3.8 e talvez apenas uma dessas versões do módulo pip foi usado para instalar o Django para resolver isso pode usar:
ou usando a versão exata do python (xx) representa:
caso contrário, o uso de ambientes virtuais pode ser útil porque relaciona facilmente qualquer módulo pip django com a versão python
fonte
Você deve ativar o ambiente virtual onde instalou o django. Em seguida, execute este comando - python manage.py runserver
fonte
Resolvi a mesma situação.
VERSÃO INSTALADA
python 3.6, django 2.1
SITUAÇÃO
Instalei o Node.js no Windows 10. Depois
python manage.py runserver
causou erro.ERRO
RAZÃO
Meu caminho python mudou para python-2.7 de python-3.6. (3.6 está correto no meu PC.)
SOLUÇÃO
Corrigir o caminho do python.
fonte
Eu tive exatamente o mesmo erro, mas depois descobri que esqueci de ativar o ambiente conda que tinha o django e outros pacotes necessários instalados.
Solução: crie um conda ou ambiente virtual com django instalado e ative-o antes de usar o comando:
$ python manage.py migrate
fonte
O django-admin pode ser o arquivo errado. Encontrei o mesmo problema que não encontrei em um computador diferente o mesmo fluxo de configuração.
Depois de comparar dois projetos, encontrei várias diferenças em manage.py e settings.py, então percebi que criei o projeto 2.0 django, mas o executei com python2.
correr
which django-admin
no itermParece que tenho um django-admin em python3, mas não sei por quê. Então, tentei obter o django-amin correto.
então eu tenho
Em
/Library/Python/2.7/site-packages
, encontrei o django-adminEntão, criei o projeto novamente por
então corra
teve sucesso🎉
fonte
Temos que criar um ambiente virtual dentro do projeto, não fora do projeto .. Então vai resolver ..
fonte
Parece que você tem mais de uma versão do Python em seu computador. Experimente e remova um e deixe a única versão que você usou para desenvolver seu aplicativo.
Se necessário, você pode atualizar sua versão, mas certifique-se de ter apenas uma versão do Python em seu computador.
Eu espero que isso ajude.
fonte
Eu caí exatamente na mesma exceção porque esqueci de ativar o ambiente virtual.
fonte
Os seguintes podem ser os possíveis motivos,
Para criar um ambiente virtual
Para ativar o ambiente virtual
fonte
Eu também estava recebendo o mesmo erro.
Então voltei para a pasta onde está a pasta de ambiente e esqueci de ativar um ambiente virtual, então só eu estava recebendo este erro.
Vá para essa pasta e ative o ambiente virtual.
fonte
Além disso, o tutorial recomenda que um ambiente virtual seja usado (consulte a documentação do Django: https://docs.djangoproject.com/en/2.0/topics/install/#installing-official-release "). Você pode fazer isso com
pipenv --three
. Uma vez você instalou o djangopipenv install django
e ativou seu ambiente virtual compipenv shell
, python irá se referir a python3 ao executarpython manage.py runserver
.Documentação do Pipenv: https://pipenv.kennethreitz.org/
fonte
O que estou me perguntando é que, embora o django esteja instalado no contêiner, ele pode não estar na máquina host onde você está executando o comando. Então, como o comando será executado. Portanto, uma vez que nenhuma das soluções acima funcionou para mim.
Eu descobri o contêiner em execução e entrei no contêiner em execução usando, em
docker exec -it <container> bash
seguida, executei o comando dentro do contêiner do docker. Como temos o contêiner volumoso, as alterações feitas também serão refletidas localmente. Qualquer comando a ser executado pode ser executado dentro do contêiner em execuçãofonte
Para futuros leitores, eu também tive o mesmo problema. Acontece que a instalação do Python diretamente do site, bem como outra versão do Anaconda, causou esse problema. Tive que desinstalar o Python2.7 e manter apenas o anaconda como única distribuição.
fonte
Você já entrou no ambiente virtual do django? Execute
python -m venv myvenv
se você ainda não instalou.fonte
Apenas faça:
pipenv shell
então repita:
python manage.py runserver
e não exclua
from exc
como sugerido acima.Felicidades!
fonte
Eu tive o mesmo problema e poderia resolvê-lo. Ele está relacionado à versão do Django que você instalou, alguns deles não são suportados pelo python 2.7. Se você instalou o Django com pip, significa que está instalando a versão mais recente do que provavelmente não é compatível com o python 2.7. Você pode obter mais informações sobre isso aqui . Eu sugeriria python 3 ou especificar a versão do Django durante a instalação (que é 1.11 para python 2.7).
fonte
Resolvi esse problema para desinstalar a versão múltipla do Python. Verifique a documentação oficial do Django para compatibilidade com Python.
" Compatibilidade Python
Django 2.1 suporta Python 3.5, 3.6 e 3.7. Django 2.0 é a última versão compatível com Python 3.4. "
arquivo manage.py
Se remover "from exc" da penúltima linha deste código, será gerado outro erro devido a várias versões do Python.
fonte
ativar env pelo seguinte comando
então execute o comando
fonte
Você deve iniciar seu ambiente virtual ,
como fazer isso?
primeiro com terminal cd no diretório que contém manage.py
em seguida, digite
$source <myvenv>/bin/activate
substituir pelo nome do seu Ambiente Virtual, sem colchetes angulares.Outro problema pode ser que seu diretório raiz e venv não correspondem. A estrutura deve ser mais ou menos assim:
Esse é o seu ambiente virtual e manage.py deve estar na mesma pasta. A solução para isso é reiniciar o projeto. Se você está enfrentando esse erro, você não deve ter codificado nada ainda, então reinicie.
fonte
Resolvi meu problema também quando ativei meu ambiente virtual usando:
fonte
Tive este problema (Mac) e segui as instruções da página abaixo para instalar e ativar o ambiente virtual
https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/
Depois de instalar e ativar o ambiente virtual, verifiquei
Então eu instalei o django no ambiente virtual
E então eu poderia executar meu aplicativo
Quando cheguei à próxima parte do tutorial
Encontrei outro erro:
Eu removi
e então criou o diretório polls
fonte