私はpython 2.7でdjango1.9をインストールしました。でも今はpython3.4でそれを使いたいと思っています。したがって、以下のように、PythonのシンボリックリンクをPython 3.4に変更しました。djangoモジュールのインポートエラー - python 2.7 vs python 3.4
sudo ln -s /usr/bin/python3.4 /usr/bin/python
同じdjangoはPython 2.7と3.4でも動作するので、動作するはずです。しかし、今私が./mange.py runserverを実行すると、私は以下のエラーに陥っています。 しかしPython 2.7では、同じコードが適切に動作します。
from Helpers import views
ImportError: No module named 'Helpers'
私に何が間違っているか教えてください。以下はプロジェクトの構造です。
myproject
├── myproject
│ ├── settings.py
│ ├── __init__.py
│ ├── urls.py
│ ├── wsgi.py
│ └─── Helpers
│ ├── views.py
│ └── __init__.py
└── manage.py
Urls.pyは以下のようになります。
from django.conf.urls import url
from Helpers import views
urlpatterns = [
url(r'^$', views.index, name='index')
]
setting.pyには関連情報が含まれています。
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"))
'os.path.join(BASE_DIR、「ヘルパー"myproject/myproject/Helpers"を持っている間は通常 'myproject/Helpers'を返します。 – Selcuk
os.path.join(BASE_DIR、 'myproject'、" Helpers ")も役に立ちません。上記のように、このコードはpython 2.7で正しく動作します。 – virus
btw BASE_PATHは、親ディレクトリの設定パスです。 – virus