Ok, ik zie veel van deze fouten in de buurt. Ik heb alles geprobeerd wat ik weet om te doen en moet dit nog uitzoeken.
Ik werk aan een ontwikkelserver met python 2.5 en Django 1.3. Django 1.3 is geïnstalleerd met behulp van python setup.py install na het uitpakken van de tar.gz-download.
Alles werkt goed, ik heb zelden de behoefte om manage.py
uit te voeren, maar ik probeer de nieuwe staticfiles-app te gebruiken en loop tegen problemen aan.
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, dus ik heb een probleem met PATH
.
Van Django-installatiecontroleer ik nogmaals mijn site-packages
directory.
python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/usr/lib/python2.5/site-packages
Ok, laten we eens kijken wat ik heb, echo $PYTHON_PATH was leeg, dus ik heb het ingesteld
export PYTHON_PATH=/usr/lib/python2.5/site-packages/django
Nog steeds geen geluk. Laten we eens kijken wat sys.path te zeggen heeft
>>> 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']
pad is er, ik heb zelfs /usr/lib/python2.5/site-packages/django.pth met inhoud gemaakt
cat /usr/lib/python2.5/site-packages/django.pth
/usr/lib/python2.5/site-packages/django/
Iemand enig idee wat hier aan de hand is?
Ik vond een symbolische link verderop in het pad dat in de weg stond, maar geen nieuwe fout.
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
Ik heb ook geprobeerd een nieuw project te maken om te zien of daar problemen waren en kreeg dezelfde utils.version-fout.
Zijknooppunt: Unode van #django heeft me een beetje geholpen, virtualenv op dezelfde machine in te stellen en voorbij de fouten te komen, dus ik weet nog steeds niet wat er aan de hand is met deze daadwerkelijke installatie hier, maar het lijkt niet in de django-projecten te zijn, maar in de django/python-installatie.
Antwoord 1, autoriteit 100%
Als je, zoals ik, je django in een virtualenv draait en deze foutmelding krijgt, kijk dan naar je manage.py
.
De eerste regel moet het uitvoerbare bestand van Python definiëren dat wordt gebruikt om het script uit te voeren.
Dit zou het pad naar de python van je virtualenv moeten zijn, maar het is iets mis zoals /usr/bin/python, dat niet hetzelfde pad is en de globale python-omgeving zal gebruiken (en pakketten zullen ontbreken).
Verander gewoon het pad in het pad naar het uitvoerbare bestand van Python in je virtualenv.
Je kunt je shebang-regel ook vervangen door #!/usr/bin/env python
. Dit zou de juiste python-omgeving en -interpreter moeten gebruiken, op voorwaarde dat u eerst uw virtualenv activeert (ik neem aan dat u weet hoe u dit moet doen).
Antwoord 2, autoriteit 23%
Als u zich in een virtualenv bevindt, moet u deze activeren voordat u ./manage.py ‘command’ kunt uitvoeren
source path/to/your/virtualenv/bin/activate
als je workon configureert in .bash_profile of .bashrc
workon yourvirtualenvname
*bewerk a.u.b. uw manage.py-bestand niet, misschien werkt dit niet op de juiste manier en kan dit u in de toekomst fouten opleveren
Antwoord 3, autoriteit 18%
Ik had hetzelfde probleem omdat ik Django als supergebruiker aan het installeren was, dus niet in mijn virtualenv. Je moet sudo pip install Django
niet doen
In plaats daarvan installeer je het op deze manier:
$ source ./bin/activate
$ pip install Django
Antwoord 4, autoriteit 9%
Alstublieft, installeer django opnieuw met pip:
sudo pip install --upgrade django==1.3
(Vervang 1.3 door uw django-versie)
Antwoord 5, autoriteit 6%
Zoals bekend was dit een padprobleem.
de basis van mijn aangepaste pakketten deelde een naam met een map die is ingesteld in een /etc/profile. De pakketten stonden echter op een andere locatie voor de webserver. Dus ik verwijderde de beledigende inzendingen van mijn $PYTHONPATH en was klaar om te gaan!
Bedankt voor de hulp.
Antwoord 6, autoriteit 6%
Een andere mogelijke reden voor dit probleem is dat uw besturingssysteem standaard python3 draait.
Je moet ofwel expliciet doen: python2 manage.py
of je moet de shebang van manage.py
bewerken, zoals zo:
#!/usr/bin/env python2
of als u python3 gebruikt:
#!/usr/bin/env python3
Antwoord 7, autoriteit 5%
Ik kreeg deze fout toen ik probeerde een embedded systeem uit te voeren (uiteraard met django) op een Raspberry Pi 2(en nieteen VM)
Dit uitvoeren:
sudo pip install Django
Het is gelukt!
- voor het geval iemand die Raspbian/Jessiegebruikt dit krijgt
Antwoord 8, autoriteit 4%
U gebruikt waarschijnlijk virtualenvwrapper. Vergeet niet je omgeving te selecteren door het volgende uit te voeren:
$ workon env_name
Antwoord 9, autoriteit 2%
Voor mij gebruikte mijn server Python 2.4. Ik heb gewoon Python 2.7 opgezocht, die op mijn server was geïnstalleerd, en een alias gemaakt.
alias python=python2.7
Als je meer wilt weten, vond ik de oplossing hier
Antwoord 10, autoriteit 2%
Ik kreeg hetzelfde probleem toen ik een nieuwe app probeerde te maken. Als je python manage.py startapp myapp
schrijft, dan zoekt het naar usr/bin/python. Maar je hebt deze “python” nodig die zich in de /bindirectory van je virtuele env-padbevindt. Ik heb dit opgelost door het python-pad van virtualenv zo te noemen:
<env path>/bin/python manage.py startapp myapp
Antwoord 11, autoriteit 2%
Opgelost!!!
Na zoeken naar leeftijdenen het proberen van al deze andere suggesties die niet werkten, vond ik eindelijk de oplossing voor mijn setup.
Mijn opstelling/scenario:
- Windows, Python27
- Mijn django-project is uitgecheckt via svn
- bij het uitvoeren van python manage.py runserverin de nieuwe map, kreeg ik de importfout
- python manage.py runserverwerkte in de originele map (waarvan ik wijzigingen zou doorvoeren) totdat ik deze verwijderde
Oplossing
Verwijder alle mappen met de naam djangoin dezelfde map als manage.py
Dat klopt… zodra ik de map “django” verwijderde die alleen een bestand __init__.pybevatte… kon ik de server opnieuw starten!
Ik heb echter geen idee waarom
Antwoord 12, autoriteit 2%
Probeer uw eerste regel van manage.py te wijzigen.
Wijzigen
#!/usr/bin/python
door
#!/usr/bin/env python
Antwoord 13, autoriteit 2%
python3 manage.py runserver
Controleer versie van Python
Antwoord 14
Voor degenen onder u die Django 1.6 of nieuwer gebruiken, houd er rekening mee dat execute_manager is verwijderd. Er is een oplossing gepost in het tweede SO-antwoord hier.
Antwoord 15
Sla het pad van python python op in een variabele en voer het uit. Dit omvat de anders ontbrekende pakketten.
python_path= `which python`
$python_path manage.py runserver
Antwoord 16
Ik had een soortgelijk probleem. PyCharm kon de server niet uitvoeren, maar ik kon het vanaf de opdrachtregel uitvoeren. Ik probeerde welke python en zorgde er vervolgens voor dat PyCharm dezelfde tolk was en toen werkte alles goed.
Antwoord 17
Deze fout treedt meestal op wanneer django niet is geïnstalleerd.
Als je django al hebt geïnstalleerd maar nog steeds dezelfde fout krijgt, dan moet je in een aparte virtuele omgeving werken. Je moet django ook in je virtuele omgeving installeren. Als u zich in de schil van een virtuele machine bevindt, doet u gewoon dit:
pip install django
Omdat de virtuele machine een apart bestandssysteem heeft, herkent het django niet, zelfs niet als het op uw systeem is geïnstalleerd.
Antwoord 18
Ik heb dit probleem opgelost door #PATH=”$VIRTUAL_ENV/bin:$PATH” te wijzigen in PATH=”$PATH:$VIRTUAL_ENV/bin”
Om voor mij niet voor de hand liggende redenen ziet het uitvoerbare bestand van python in de virtualenv-map django niet, maar de normaal geïnstalleerde python wel.
Antwoord 19
==================================OPLOSSING============ =============================
Eerste ga naar: virtualenv
door de opdracht uit te voeren:
bron bin/activeren
en installeer django omdat je de foutmelding krijgt met betrekking tot ‘import django’:
pip install django
Voer vervolgens uit:
python manage.py runserver
(Opmerking: verander ‘runserver’ in de programmanaam die u wilt uitvoeren)
Voor hetzelfde probleem werkte het in mijn geval.
==================================Synopsis=============== ==========================
ERROR:
(Development) Rakeshs-MacBook-Pro:src rakesh$ python manage.py runserver
Traceback (most recent call last):
File "manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "manage.py", line 14, in <module>
import django
ModuleNotFoundError: No module named 'django'
Tijdens het verwerken van de bovenstaande uitzondering is er nog een uitzondering opgetreden:
Traceback (most recent call last):
File "manage.py", line 17, in <module>
"Couldn't import Django. Are you sure it's installed and "
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?
(Development) Rakeshs-MacBook-Pro:src rakesh$
(Development) Rakeshs-MacBook-Pro:src rakesh$
(Development) Rakeshs-MacBook-Pro:src rakesh$ python -Wall manage.py test
Traceback (most recent call last):
File "manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'
Tijdens het verwerken van de bovenstaande uitzondering is er nog een uitzondering opgetreden:
Traceback (most recent call last):
File "manage.py", line 14, in <module>
import django
ModuleNotFoundError: No module named 'django'
Tijdens het verwerken van de bovenstaande uitzondering is er nog een uitzondering opgetreden:
Traceback (most recent call last):
File "manage.py", line 17, in <module>
"Couldn't import Django. Are you sure it's installed and "
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?
NA INSTALLATIE van django:
(Development) MacBook-Pro:src rakesh$ pip install django
Collecting django
Downloading https://files.pythonhosted.org/packages/51/1a/e0ac7886c7123a03814178d7517dc822af0fe51a72e1a6bff26153103322/Django-2.1-py3-none-any.whl (7.3MB)
100% |--------------------------------| 7.3MB 1.1MB/s
Collecting pytz (from django)
Downloading https://files.pythonhosted.org/packages/30/4e/27c34b62430286c6d59177a0842ed90dc789ce5d1ed740887653b898779a/pytz-2018.5-py2.py3-none-any.whl (510kB)
100% |--------------------------------| 512kB 4.7MB/s
Installing collected packages: pytz, django
NA OPLOSSING:
(Development) MacBook-Pro:src rakesh$ python manage.py runserver
Performing system checks...
System check identified no issues (0 silenced).
You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
August 05, 2018 - 04:39:02
Django version 2.1, using settings 'trydjango.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[05/Aug/2018 04:39:15] "GET / HTTP/1.1" 200 16348
[05/Aug/2018 04:39:15] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423
[05/Aug/2018 04:39:15] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 82564
[05/Aug/2018 04:39:15] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 81348
[05/Aug/2018 04:39:15] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 80304
Not Found: /favicon.ico
[05/Aug/2018 04:39:16] "GET /favicon.ico HTTP/1.1" 404 1976
Veel succes!!
Antwoord 20
uw project is gemaakt met een oude versie van django-admin.py, ouder dan django1.3
maak om dit op te lossen een ander django-project en kopieer de manage.py en plak deze in de oude
Antwoord 21
Volledig mee eens dat dit een padprobleem is, maar fwiw, ik had dezelfde fout. Het was te wijten aan de fout om een relatief pad te gebruiken voor mijn uitvoerbare Python-bestand bij het opzetten van mijn virtuele omgeving. Ik had dit gedaan:
virtualenv -p ~/python_runtimes/2.7.3/bin/python venv2.7.3 --distribute
In plaats daarvan moest ik het volledige pad naar het uitvoerbare bestand van Python geven.
HTH,
Harlijn
Antwoord 22
bron ~/blog-venv/bin/activate
kies hier uw virtualenv om “blog-venv” te vervangen.
Antwoord 23
Zorg ervoor dat u de juiste instantie van Python gebruikt met de juiste mappen op het pad. In mijn geval was deze fout het gevolg van het per ongeluk uitvoeren van het uitvoerbare bestand python
– ik had Django feitelijk geïnstalleerd onder het kader python2.7
& bibliotheken. Hetzelfde kan ook gebeuren als gevolg van virtualenv.
Antwoord 24
Ok, dus het gaat als volgt:
Je hebt een virtuele omgeving gemaakt en de django-module hoort alleen bij die omgeving. Aangezien virtualenv zichzelf isoleert van al het andere, zie je dit.
ga dit door voor verdere hulp:
1.U kunt overschakelen naar de map waar uw virtuele omgeving is opgeslagen en vervolgens de django-module uitvoeren.
2.Als alternatief kunt u django globaal installeren op uw python->site-pakketten door pip of easy_install uit te voeren
Opdracht met pip: pip install django
doe dan dit:
import django
print (django.get_version()) (afhankelijk van welke versie van python je gebruikt. Dit voor python 3+ serie)
en dan kun je dit uitvoeren:
python manage.py runserver
en controleer uw webbrowser door :localhost:8000 . te typen
en je zou de door django aangedreven pagina moeten zien.
Hopelijk helpt dit.
Antwoord 25
Ik heb de naam van de nieuwe app toegevoegd aan de lijst INSTALLED_APPS in settings.py “voordat” ik het startapp-commando gaf. Nadat ik het lijstitem had verwijderd, kon ik de app maken.
Antwoord 26
Ik heb dit probleem opgelost door in plaats daarvan de opdracht ‘django-admin’ als volgt te gebruiken:
django-admin startproject _project_name
verwijder gewoon de “.py” gekoppeld aan “django-admin”
Antwoord 27
Het hebben van een applicatie genaamd site
kan dit probleem ook reproduceren.
Antwoord 28
Ik kreeg dit omdat ik was vergeten dat ik Django had geïnstalleerd met pip -U
, dus het was alleen beschikbaar voor de gebruiker die mijn Django-app gebruikt. Om manage.py uit te voeren moest ik
sudo su -s /bin/bash MY_DJANGO_USER
/PATH/TO/MY/APP/manage.py
Antwoord 29
Slechts een enkele fout
Dit is bij mij ook gebeurd. Mijn fout was dat ik het Django-project heb gemaakt voordat ik de virtuele env maakte, later de env activeerde en de server probeerde te starten. Installeer Django na het activeren van env het zal werken
Antwoord 30
Jullie allemaal hebben niet gesproken over een geval waarin iemand “zoals ik” django zou installeren voordat virtualenv werd geïnstalleerd… ..ik hoop dat dit helpt