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

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

新規登録して質問してみよう
ただいま回答率
85.49%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

10701閲覧

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

tuna-chan

総合スコア12

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/04/29 01:49

編集2019/04/29 03:09

前提・実現したいこと

「[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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gh640

2019/04/29 01:59

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

2019/04/29 02:00

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

回答1

0

text

1ModuleNotFoundError: No module named 'django'

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

投稿2019/04/29 01:56

gh640

総合スコア1407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tuna-chan

2019/04/29 02: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()
gh640

2019/04/29 02:14

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

2019/04/29 05: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 の扱いが適切でない可能性等もあるかと思いますので、これが必ず解決策になるとはかぎらないと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問