Django è installato, ma non è possibile importare Django in Python


14

Ho installato Django in diversi modi, tramite apt-gete pip install. Dicono tutti che ho la versione più recente di Django. Ora ogni volta che eseguo Python in Terminal e digito import django, ricevo

ImportError: No module named django

Tuttavia, quando corro, django-admin --versionricevo

1.4.3

So che è installato, ma perché Python non trova il modulo django?


Hai installato Python manualmente?
Ignacio Vazquez-Abrams,

Ad essere sincero, non ricordo.
Jason328,

Risposte:


7

pythonnon sta trovando djangoperché non è sulla sua strada. Puoi vedere l'elenco dei percorsi alla pythonricerca di moduli come questo:

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

È possibile importare djangose si trova la posizione in cui è installato e aggiungere quella posizione al pythonpercorso di, ad esempio in questo modo:

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

Ma il tuo vero problema è che qualcosa non va nella tua pythoninstallazione. Se hai installato entrambi pythonAND djangoutilizzando apt-get, allora djangodovrebbe sicuramente essere sul pythonpercorso senza hack sporchi come sopra.

Detto questo, quando lavori con Django, la soluzione migliore è NON utilizzare apt-getma creare un ambiente virtuale usando virtualenv(puoi installarlo virtualenvusando apt-get) e installare Django e altri moduli che il tuo sito Django potrebbe aver bisogno di usare pipall'interno dell'ambiente virtuale. In questo modo puoi avere più progetti Django fianco a fianco, con precisamente i moduli e le versioni di Python richiesti. Sono solo alcuni passaggi da fare, ma ne vale sicuramente la pena e ti salveranno da molte frustrazioni in futuro.


Puoi anche aggiungere al percorso direttamente nel tuo codice usando sys.path.append ('path / to / django'), quindi importare normalmente
NGRhodes

@NGRhodes I percorsi hardcoding nel codice non sono una buona idea.
janos

può sempre leggere il percorso da un elemento di configurazione, quindi è un'impostazione di runtime :)
NGRhodes

4

Ho avuto lo stesso problema quando stavo usando PyCharm Community Edition per realizzare progetti Django.

Per me, i seguenti passaggi hanno funzionato:

Si scopre che python vuole che tu crei un ambiente virtuale, installi django in quello e quindi esegua il server. Per farlo,

Crea un ambiente virtuale

1) Installa l'ambiente virtuale usando pip install virtualenv.

2) Passare alla cartella del progetto e digitare virtualenv env (Ecco envil nome dell'ambiente virtuale.) Ciò creerà una nuova cartella denominata envall'interno della cartella del progetto.

3) Navigare env/Scriptsall'interno della cartella del progetto utilizzando .cd env/Scripts

4) Digitare activatee premere Invio. Questo dovrebbe avviare l'ambiente virtuale. Puoi verificarlo in quanto verrebbe aggiunto al tuo percorso attuale.(env)

Installa Django

1) Una volta all'interno dell'ambiente virtuale, torna alla cartella del tuo progetto usando cd ../.. e digita pip install django.

2) È possibile verificarne l'installazione digitando django-admin --version . Dovrebbe visualizzare il numero di versione di django installato all'interno dell'ambiente virtuale.

Ora digita python manage.py runserverper avviare il server Python.


0

Se sul tuo computer sono installate più versioni di Python. I diversi pacchetti che stai tentando di installare sono in conflitto, quindi l'approccio migliore è usare virtualenv ..

  1. Ambiente virtuale di installazione semplice e versione di Python
  2. usa virtualenv env per creare un ambiente virtuale.
  3. attiva il tuo virtualenv. usando. / Env_name / bin / activate
  4. usa pip install django == 1.70 (specifica la versione per installare django)
  5. elenco pip per elencare tutti i pacchetti installati.

0

ho questo problema e lo avevo ancora fino a poco tempo fa nel mio progetto vscode non riconosceva il mio ambiente virtuale, quindi ogni volta che provo a eseguire il progetto mi dà un errore che vscode non può importare django

la soluzione per questo per me che ho esportato le librerie nel mio ambiente virtuale per riempire

pip freeze > req.txt

poi ho creato un nuovo ambiente virtuale con gli stessi requisiti e ha funzionato

nota: prova a cercare questo ambiente virtuale Python


0

Ho affrontato lo stesso problema. Ho attivato l'ambiente virtuale $ source bin / activ

successivamente mi ha mostrato la versione di Django

Non è stato necessario installare nulla.


mamata @ mamta-inspire-all: ~ / dodjango $ python -m django --version / usr / bin / python: nessun modulo chiamato django

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

Il comando 'django-admin' non è stato trovato, ma può essere installato con:

sudo apt installa python-django-common

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

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

bin include lib lib64 mamusite pyvenv.cfg share

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

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



Prova a modificare la risposta con l'aiuto di AskUbuntu.
NIMISHAN,

-1

Ho questo problema quando ho rinominato la cartella del progetto in PyCharm.

  1. La scheda Terminale ha smesso di entrare nell'ambiente virtuale ( venvcartella). Per risolvere il problema, sono andato alSettings -> Project -> Project all'interprete e cambiato la cartella lì.
  2. Django "è scomparso". django-admin --versionnon ha risposto. Per risolvere, ho fatto pip install djangoall'interno del venv.

Ha aiutato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.