2016-04-16 5 views
5

Versuch, lokales Django-Projekt in Python Anywhere bereitzustellen, aber einen ImportError zu erhalten: Kein Modul namens 'environ' beim Ausführen von 'python manage.py migrieren "Django-App kann nicht auf Python Anywhere bereitgestellt werden: ImportError: Kein Modul namens 'environ'

File "/home/Dude1983/surfapp/src/surfapp/settings/development.py",line 1, in <module> 
from .base import *    # NOQA 
File "/home/Dude1983/surfapp/src/surfapp/settings/base.py", line 45,in <module> 
import environ 
ImportError: No module named 'environ' 

Ich habe die Django-Versionen, beide 1.9.5 überprüft.

Mein wsgi.py sieht wie folgt aus:

import os 
import sys 

path = '/home/Dude1983/surfapp/' # use your own username here 
if path not in sys.path: 
    sys.path.append(path) 

os.environ['DJANGO_SETTINGS_MODULE'] = 'surfapp.settings.production' 

from django.core.wsgi import get_wsgi_application 
from django.contrib.staticfiles.handlers import StaticFilesHandler 
application = StaticFilesHandler(get_wsgi_application()) 

ich die Edge-2 Starter-Vorlage und meine Einstellungen befinden sich hier:

surfapp 
    │ ├── __init__.py 
    │ ├── __pycache__ 
    │ │ └── __init__.cpython-35.pyc 
    │ ├── logger.py 
    │ ├── settings 
    │ │ ├── __init__.py 
    │ │ ├── __pycache__ 
    │ │ │ ├── __init__.cpython-35.pyc 
    │ │ │ ├── base.cpython-35.pyc 
    │  │ │ └── development.cpython-35.pyc 
    │ │ ├── base.py 
    │ │ ├── development.py 
    │ │ ├── local.sample.env 
    │ │ └── production.py 
    │ ├── urls.py 
    │ ├── views.py 
    │ └── wsgi.py 

ich die DjangoGirls Tutorial here gefolgt.

Kann mir jemand helfen oder mir irgendwelche Hinweise geben?

Antwort

3

Meine Schätzung ist, dass die Edge 2-Vorlage einige Abhängigkeiten hat, die nicht im Standard-Pythonanywhere-System installiert sind, und dass eine davon "environ" heißt.

Ich würde vorschlagen, eine virtualenv verwenden und dann ein tun

pip install -r requirements.txt 

(the edge docs sind etwas verwirrend, aber sie sagen, oder zumindest bedeuten, sollten Sie eine tun, wie diese „pip install“)

Hier sind die PythonAnywhere docs zur Verwendung von virtualenvs:

http://help.pythonanywhere.com/pages/VirtualEnvForNewerDjango

0

Vielen Dank, das funktionierte und ich w als in der Lage, alle Abhängigkeiten zu installieren und den Migrationsbefehl auszuführen.

Allerdings läuft jetzt ein anderes Problem und ich kann meine App nicht starten, da sie einen Unhandled-Ausnahmefehler anzeigt, von dem ich annehme, dass er mit meiner wsgi-Datei zu tun hat. einen Blick auf die Fehler Nachdem es log sagt:

ImportError: No module named 'surfapp.settings' 

Meine wsgi Datei sieht wie folgt aus:

import os 
import sys 

path = '/home/Dude1983/surfapp' # use your own username here 
if path not in sys.path: 
    sys.path.append(path) 

os.environ['DJANGO_SETTINGS_MODULE'] = 'surfapp.settings.production' 

from django.core.wsgi import get_wsgi_application 
from django.contrib.staticfiles.handlers import StaticFilesHandler 
application = StaticFilesHandler(get_wsgi_application()) 

für die App My git Repo here

gesehen werden kann, ich habe versucht, und gegoogelt, kann aber keine Antwort finden. Würdest du wissen, was los ist?

+1

Gelöst: musste src Pfad hinzufügen -> 'home/Dude1983/surfapp/src; – CKP

+0

großartig! Für alle anderen, die mit Importfehlern kämpfen, haben wir eine [ausführliche Anleitung zum Debuggen von Importfehlern und sys.path-Problemen] (http://help.pythonanywhere.com/pages/DebuggingImportError) – hwjp