Ich habe Django1.9 mit Python 2.7 installiert. Aber jetzt möchte ich es mit Python3.4 verwenden. Daher habe ich die symbolische Verbindung von Python zu Python 3.4 wie folgt geändert.Django-Modul Importfehler - Python 2.7 vs Python 3.4
sudo ln -s /usr/bin/python3.4 /usr/bin/python
Da gleiche django mit Python funktioniert 2.7 und 3.4 auch so sollte es funktionieren. Aber jetzt, wenn ich laufen ./mange.py runserver bekomme ich unter Fehler. Aber mit Python 2.7 funktioniert der gleiche Code richtig.
from Helpers import views
ImportError: No module named 'Helpers'
Bitte lassen Sie mich wissen, was ist falsch dort? Im Folgenden finden Sie die Projektstruktur.
myproject
├── myproject
│ ├── settings.py
│ ├── __init__.py
│ ├── urls.py
│ ├── wsgi.py
│ └─── Helpers
│ ├── views.py
│ └── __init__.py
└── manage.py
Urls.py ist wie folgt.
from django.conf.urls import url
from Helpers import views
urlpatterns = [
url(r'^$', views.index, name='index')
]
setting.py enthält die folgenden relevanten Informationen.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myproject',
]
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Look for modules here as well.
sys.path.insert(0, os.path.join(BASE_DIR, "Helpers"))
Irgendeine Idee?
'os.path.join (BASE_DIR„Helpers ")' würde normalerweise 'myproject/Helpers' zurückgeben, während du eigentlich' myproject/myproject/Helpers' haben möchtest. – Selcuk
os.path.join (BASE_DIR, 'meinprojekt', "Helfer") hilft auch nicht. Übrigens funktioniert dieser Code mit python 2.7 richtig. – virus
btw BASE_PATH ist setting.py übergeordneten Verzeichnispfad. – virus