Django instalado, mas não é possível importar django em python

14

Eu instalei o Django de várias maneiras, via apt-gete pip install. Todos dizem que tenho a versão mais recente do Django. Agora, sempre que executo python no Terminal e digito import django, recebo

ImportError: No module named django

No entanto, quando corro django-admin --version, recebo

1.4.3

Eu sei que está instalado, mas por que o python não está encontrando o módulo django?

jason328
fonte
Você instalou o Python manualmente?
Ignacio Vazquez-Abrams
Para ser sincero, não me lembro.
Json328

Respostas:

7

pythonnão está encontrando djangoporque não está no caminho. Você pode ver que a lista de caminhos pythonprocura por módulos como este:

$ python
>>> import sys
>>> sys.path

Você pode importar djangose encontrar o local em que está instalado e adicioná-lo ao pythoncaminho, por exemplo:

$ PYTHONPATH=/path/to/django/parent/dir python
>>> import django  # should work now

Mas o seu verdadeiro problema é que algo está errado com sua pythoninstalação. Se você instalou os dois pythonAND djangousando apt-get, djangocertamente deve estar no pythoncaminho sem hacks sujos, como acima.

Dito isto, ao trabalhar com o Django, sua melhor aposta é NÃO usar, apt-getmas criar um ambiente virtual usando virtualenv(você pode se instalar virtualenvusando apt-get) e instalar o Django e outros módulos que seu site Django possa precisar usar pipdentro do ambiente virtual. Dessa forma, você pode ter vários projetos Django lado a lado, com precisamente os módulos e versões do Python necessários. São apenas algumas etapas extras a serem feitas, mas definitivamente valem a pena e evitarão muita frustração no futuro.

janos
fonte
Você também pode adicionar para o caminho diretamente em seu código usando sys.path.append ( 'path / to / django'), em seguida, importar como normal
NGRhodes
@NGRhodes A codificação de caminhos no código não é uma boa ideia.
Janos
pode sempre ler o caminho de um item de configuração para sua configuração um tempo de execução :)
NGRhodes
4

Eu tive o mesmo problema quando estava usando o PyCharm Community Edition para criar projetos no Django.

Para mim, as seguintes etapas funcionaram:

Acontece que o python deseja que você crie um ambiente virtual, instale o django nele e execute o servidor. Para fazer isso,

Crie um ambiente virtual

1) Instale o ambiente virtual usando pip install virtualenv.

2) Navegue até a pasta do projeto e digite virtualenv env (Aqui envestá o nome do ambiente virtual.) Isso criará uma nova pasta chamada envdentro da pasta do projeto.

3) Navegue para env/Scriptsdentro da pasta do projeto usando .cd env/Scripts

4) Tipo activate e pressione Enter. Isso deve iniciar o ambiente virtual. Você pode verificar isso como seria o prefixo do seu caminho atual.(env)

Instale o Django

1) Uma vez dentro do ambiente virtual, volte para a pasta do projeto usando cd ../.. e digite pip install django.

2) Você pode verificar sua instalação digitando django-admin --version . Ele deve exibir o número da versão do django instalado dentro do ambiente virtual.

Agora digite python manage.py runserverpara iniciar o servidor python.

Sourav Samanta
fonte
0

Se você possui várias versões python instaladas em sua máquina. Os diferentes pacotes que você está tentando instalar ficam em conflito. Portanto, a melhor abordagem é usar o virtualenv ..

  1. Ambiente virtual de instalação simples e versão python
  2. use virtualenv env para criar um ambiente virtual.
  3. ative seu virtualenv. usando. / env_name / bin / ativar
  4. use pip install django == 1.70 (especifique a versão para instalar o django)
  5. lista pip para listar todos os pacotes instalados.
Suman Astani
fonte
0

Eu tenho esse problema e ainda o tinha até recentemente no meu projeto vscode não reconhecia meu ambiente virtual, portanto, sempre que tento executar o projeto, ocorre um erro que o vscode não pode importar django

a correção para isso para mim que eu exportei as bibliotecas no meu ambiente virtual para um preenchimento

pip freeze > req.txt

então eu criei um novo ambiente virtual com os mesmos requisitos, e funcionou

Nota: tente procurar neste ambiente virtual python

mohamed salah
fonte
0

Eu enfrentei o mesmo problema. Ativei o ambiente virtual $ source bin / active

depois disso me mostrou a versão do Django

Não havia necessidade de instalar nada.


mamata @ mamta-inspire-all: ~ / dodjango $ python -m django --version / usr / bin / python: nenhum módulo chamado django

mamata @ mamta-inspire-all: ~ / dodjango $ django-admin --version

O comando 'django-admin' não foi encontrado, mas pode ser instalado com:

O sudo apt instala o python-django-common

mamata @ mamta-inspire-all: ~ / dodjango $ source bin / ativar

(dodjango) mamata @ mamta-inspire-all: ~ / dodjango $ ls

bin incluem lib lib64 mamusite pyvenv.cfg compartilhar

(dodjango) mamata @ mamta-inspire-all: ~ / dodjango $ django-admin - versão 2.2.5

(dodjango) mamata @ mamta-inspire-all: ~ / dodjango $ python -m django - versão 2.2.5


mamumath
fonte
Tente editar a resposta com alguma ajuda do AskUbuntu.
NIMISHAN 25/09/19
-1

Eu tenho esse problema quando renomeei a pasta do projeto no PyCharm.

  1. A guia Terminal parou de entrar no ambiente virtual ( venvpasta). Para consertar isso, fui ao Settings -> Project -> Projectintérprete e mudei a pasta lá.
  2. Django "desapareceu". django-admin --versionnão respondeu. Para consertar, eu fiz pip install djangodentro do venv.

Ajudou.

tivnet
fonte