質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.82%

python manage.py migrateでのエラー原因を教えてください

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,508

tuna-chan

score 12

前提・実現したいこと

「[Python] Djangoチュートリアル - 汎用業務Webアプリを最速で作る」
https://qiita.com/okoppe8/items/54eb105c9c94c0960f14
に載っているPythonサンプルコードを勉強しようと思い、PaizaCloud上で
試しに実行しているのですが、以下のコマンドでエラーとなります。
python manage.py migrate
を実行すると、下記のようなエラーメッセージが出力され、対処方法がわかりません。
対処方法がわかる方はアドバイスをお願いします。

発生している問題・エラーメッセージ

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'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "manage.py", line 14, in <module>
) from exc
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?

該当のソースコード

!/usr/bin/env python

import os
import sys

if name == "main":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise 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?"
) from exc
execute_from_command_line(sys.argv)

試したこと

python manage.py migrateを実行する前に行ったことは、下記です。

sudo apt-get update
sudo apt install python3-pip python3-venv
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt

補足情報(FW/ツールのバージョンなど)

NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"
Python 3.6.7

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • gh640

    2019/04/29 10:57

    コードがコードブロックとして認識されるように問題文を修正してください。参考: https://teratail.com/help#about-markdown

    キャンセル

  • gh640

    2019/04/29 10:59

    補足情報として OS ・ Python のバージョン等を書かれるとよいかと思います。

    キャンセル

  • gh640

    2019/04/29 11:00

    Django というタグがあるので、付けられると Django に詳しい人の目に付きやすくなります。

    キャンセル

回答 1

0

ModuleNotFoundError: No module named 'django'

と書かれているとおり、 django パッケージが見つからないというエラーが出ているようです。 django はインストールされていますか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/29 11:09

    早速のご回答ありがとうございます。
    確かにdjangoが正常にインストールできていないようでした。
    下記のようにdjangoをインストールしたのですが、Successfully installed django-2.2と表示されたにも関わらず、インストールされていないようです。
    何か足らないのでしょうか?

    (env) ~/Django-Simple-CRUD-Sample$ pip uninstall django
    Cannot uninstall requirement django, not installed
    (env) ~/Django-Simple-CRUD-Sample$ pip install django
    Collecting django
    Using cached https://files.pythonhosted.org/packages/54/85/0bef63668fb170888c1a2970ec897d4528d6072f32dee27653381a332642/Django-2.2-py3-none-any.whl
    Collecting pytz (from django)
    Using cached https://files.pythonhosted.org/packages/3d/73/fe30c2daaaa0713420d0382b16fbb761409f532c56bdcc514bf7b6262bb6/pytz-2019.1-py2.py3-none-any.whl
    Collecting sqlparse (from django)
    Using cached https://files.pythonhosted.org/packages/ef/53/900f7d2a54557c6a37886585a91336520e5539e3ae2423ff1102daf4f3a7/sqlparse-0.3.0-py2.py3-none-any.whl
    Installing collected packages: pytz, sqlparse, django
    Successfully installed django-2.2 pytz-2019.1 sqlparse-0.3.0
    (env) ~/Django-Simple-CRUD-Sample$
    (env) ~/Django-Simple-CRUD-Sample$
    (env) ~/Django-Simple-CRUD-Sample$
    (env) ~/Django-Simple-CRUD-Sample$ python
    Python 3.6.7 (default, Oct 22 2018, 11:32:17)
    [GCC 8.2.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import django
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ModuleNotFoundError: No module named 'django'
    >>> exit()

    キャンセル

  • 2019/04/29 11:14

    コメントお戻しいただきありがとうございます。まずは「質問への追記・修正」をご覧になってください。

    キャンセル

  • 2019/04/29 14:18

    > Successfully installed django-2.2と表示されたにも関わらず、インストールされていないようです。

    `pip` コマンドと `python` コマンドで、それぞれが認識している python 及びパッケージインストール先ディレクトリが異なるのではないでしょうか。

    原因としてよくあるのは、複数の Python をインストールしていてそれが混在していることですが、 virtualenv を正しく利用できていないときにも起こるのではないかと思います。

    記事をちらっと見ると virtualenv を使う形が紹介されているようですが、 virtualenv が何で、どういうふうに使うものかは理解された上で使われていますか?もしまだであれば、 Django の前にまず virtualenv について学習されるのがよいかと思います。

    さしあたりの問題解決としては `pip` コマンドの代わりに `python -m pip` を使うようにする(つまり `python -m pip install django` 等とする)と解決するのではないかと思いますが、 virtualenv の扱いが適切でない可能性等もあるかと思いますので、これが必ず解決策になるとはかぎらないと思います。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.82%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る