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

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

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

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

1322閲覧

virtualenv で runserverできずエラーが発生する

退会済みユーザー

退会済みユーザー

総合スコア0

Django

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/05/09 03:18

編集2019/05/09 03:26

前提・実現したいこと

Mac・Python3.7・Django2.1で開発をしています。
現在デプロイに向けた作業をしているところです。

ターミナルにて./manage.py runserverをしたところエラーが発生したので、解決策を教えていただければ助かります。

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

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?

自分で調査したところ、「仮想環境(virtualenv)を開始しているか?」という観点があるように見受けられました。

ターミナル上では
(myapp) [user@localhost myapp]$
の状態なので、それはできていると思っています(←できていますよね...?)

また、「pip freezeをしろ」とあったので、そのままターミナルで実行したところ、何も起きませんでした→使い方が違うか、それともDjangoが入っていないか。

これだけでは言葉足らずかもしれませんが、この状態からどうすれば良いか、意見をいただけないでしょうか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

ターミナル上では

(myapp) [user@localhost myapp]$
の状態なので、それはできていると思っています(←できていますよね...?)

できていると思うんですが、念の為以下を試してみてください。

$ echo $PATH

仮想環境が立ち上がっていれば、先頭に仮想環境を置いたディレクトリ配下の場所が出てくるはずです。

また、「pip freezeをしろ」とあったので、そのままターミナルで実行したところ、何も起きませんでした→使い方が違うか、それともDjangoが入っていないか。

とりあえず何かしら出力されないと変です。pip show djangopip listも見てみましょう。

投稿2019/05/09 03:30

hayataka2049

総合スコア30933

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

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

退会済みユーザー

退会済みユーザー

2019/05/09 03:38 編集

$ echo $PATH `/opt/django/myapp/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/user/.local/bin:/home/user/bin` と出ました。 また、`pip show django`では何も出ず`pip list`では、 Package Version ---------- ------- pip 19.1.1 setuptools 41.0.1 wheel 0.33.1 と出ます。Djangoを入れたつもりなのですが、できていない状態でしょうか?
hayataka2049

2019/05/09 03:44 編集

>Djangoを入れたつもりなのですが どうやって入れたんでしょうか?
hayataka2049

2019/05/09 03:45

あ、/opt/django/myappに仮想環境を作ったという理解でいいですね? 仮想環境をactivateした状態で pip install django で入ると思います。うっかりsudoとか付けると入りません。
退会済みユーザー

退会済みユーザー

2019/05/09 04:57

>/opt/django/myappに仮想環境を作ったという理解でいいですね? そうです! >うっかりsudoとか付けると入りません。 ...sudo、つけていました...。 改めてpip install djangoを行なったところ Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-B3v6F8/django/ と出ます。 この原因はなんでしょうか? これでできなかったためsudoをつけたのでした...。
hayataka2049

2019/05/09 04:59

エラーが出たなら全文示してください。そこだけだとわかりません。
退会済みユーザー

退会済みユーザー

2019/05/09 05:07 編集

Collecting django Cache entry deserialization failed, entry ignored Using cached https://files.pythonhosted.org/packages/fd/70/36c08f4c3b22523173b3a5e21fbdaa137bdb1722b76f356e0e2d5d8aa645/Django-2.2.1.tar.gz Complete output from command python setup.py egg_info: ========================== Unsupported Python version ========================== This version of Django requires Python 3.5, but you're trying to install it on Python 2.7. This may be because you are using a version of pip that doesn't understand the python_requires classifier. Make sure you have pip >= 9.0 and setuptools >= 24.2, then try again: $ python -m pip install --upgrade pip setuptools $ python -m pip install django This will install the latest version of Django which works on your version of Python. If you can't upgrade your pip (or Python), request an older version of Django: $ python -m pip install "django<2" ---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-B3v6F8/django/ You are using pip version 8.1.2, however version 19.1.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. 以上全文です。お願いします。
hayataka2049

2019/05/09 05:39

>This version of Django requires Python 3.5, but you're trying to install it on Python 2.7. なにこれ・・・ 確認事項。 ・$から始まる行が複数ありますが、自分で打ったのかメッセージとして出てきたのか教えてください(こうやってコピペされてもわからないことに今気づいた) ・仮想環境に入ってpipしていますか?当然そうしないと駄目です。 ・pip -Vを見てください。
退会済みユーザー

退会済みユーザー

2019/05/09 05:56

すみません!仮想環境上でなかったです。失念しておりました。 (myapp) [user@localhost myapp]$ pip install django Collecting django Using cached https://files.pythonhosted.org/packages/b1/1d/2476110614367adfb079a9bc718621f9fc8351e9214e1750cae1832d4090/Django-2.2.1-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 ERROR: Could not install packages due to an EnvironmentError: [Errno 13] 許可がありません: '/opt/django/myapp/lib/python3.6/site-packages/pytz' Consider using the `--user` option or check the permissions. となるので、、、 (myapp) [user@localhost myapp]$ pip install django --user ERROR: Can not perform a '--user' install. User site-packages are not visible in this virtualenv. となるのですが、権限を付加する必要があるということですか? 権限を付加する方法も理解できていませんが、して大丈夫なのかという疑問もあります。
hayataka2049

2019/05/09 06:04

>となるのですが、権限を付加する必要があるということですか? >権限を付加する方法も理解できていませんが、して大丈夫なのかという疑問もあります。 自分のローカルマシンで、公開用サーバに使う訳ではないんですよね? それなら何ら問題ありません。 /opt/django以下あたりに適切な権限を付与して、パーミッションエラーを消せばインストールできるはずです。それで表題のエラーも解決するかと。 sudoしてもいいんですが、sudoするとスーパーユーザーの環境変数で走るので、環境変数PATHを利用する仮想環境は効きません。効かせる方法もいろいろあるんですが、めんどいので割愛(興味があったら調べてください)。 だいたい、なにかやるたびに権限でこけるのも開発してて楽しくないと思うので、ここは緩めておくべきでしょう。
hayataka2049

2019/05/09 06:10

あと、今後djangoの操作やるときは、なんの操作するにしても仮想環境をactivateして行うように(そのために作ったのですから)。 毎回source activateとかやるのはダルいでしょうから、.bashrcにaliasでも書いておくといいでしょう。
退会済みユーザー

退会済みユーザー

2019/05/09 06:40

ありがとうございます。権限付加について試します。 結果についての報告は、これから私用につき少々時間が空いてしまいます。 (またうまくいかなければ、教えていただければ幸いです。)
退会済みユーザー

退会済みユーザー

2019/05/11 22:11

ありがとうございます。無事解決できました。 ---以下お願い--- ただ、別件で問題が発生しているので、そちらも見ていただけないでしょうか? 新たに質問を作成しています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問