Djangoはインストールされていますが、pythonでdjangoをインポートできません


14

私は、Djangoの複数の方法をインストール経由ましたapt-getpip install。彼らは皆、私が最新バージョンのDjangoを持っていると言っています。ターミナルでpythonを実行してimport djangoを入力するたびに、

ImportError: No module named django

ただし、実行するdjango-admin --version

1.4.3

私はそれがインストールされていることを知っていますが、なぜpythonはdjangoモジュールを見つけられないのですか?


Pythonを手動でインストールしましたか?
イグナシオバスケス-アブラムス

正直に言うと、覚えていない。
jason328

回答:


7

pythondjango経路上にないので見つけられません。python次のようなモジュールを探すパスのリストを見ることができます:

$ python
>>> import sys
>>> sys.path

djangoインストールされている場所が見つかったらインポートし、その場所を次pythonのようにパスに追加できます。

$ PYTHONPATH=/path/to/django/parent/dir python
>>> import django  # should work now

しかし、実際の問題は、pythonインストールに問題があることです。pythonAND djangoを使用して両方をインストールした場合はapt-get、上記のような汚いハッキングなしでdjango確実にpythonのパスにあるはずです。

とはいえ、Djangoを使用する場合の最善の策は、使用せapt-getずにを使用して仮想環境を作成しvirtualenv(をvirtualenv使用して自分自身をインストールできますapt-get)、DjangoおよびDjangoサイトがpip仮想環境内で使用する必要があるその他のモジュールをインストールすることです。そうすれば、必要なPythonモジュールとバージョンを正確に並べて、複数のDjangoプロジェクトを並べて使用できます。ほんの数ステップの追加手順ですが、間違いなく価値があり、将来の不満からあなたを救います。


また、sys.path.append( 'path / to / django')を使用してコードに直接パスを追加してから、通常どおりインポートします
NGRhodes 14

@NGRhodesコードでパスをハードコーディングすることはお勧めできません。
ヤノス14

構成アイテムから常にパスを読み取ることができるため、ランタイム設定:)
NGRhodes

4

Djangoプロジェクトの作成にPyCharm Community Editionを使用していたときにも同じ問題がありました。

私にとって、次の手順はうまくいきました。

pythonは、仮想環境を作成し、その中にdjangoをインストールしてからサーバーを実行することを望んでいることがわかりました。これをする、

仮想環境を作成する

1)を使用して仮想環境をインストールしますpip install virtualenv

2)プロジェクトフォルダーに移動し、入力しますvirtualenv envenvこれは仮想環境の名前です)。これによりenv、プロジェクトフォルダー内に新しいフォルダーが作成されます。

3)env/Scriptsを使用してプロジェクトフォルダー内に移動します。cd env/Scripts

4)activate入力してEnterキーを押します。これにより、仮想環境が開始されます。これは、現在のパスのプレフィックスとして確認できます。(env)

Djangoをインストールする

1)仮想環境内で一度、使用して、フォルダをプロジェクトに頭の背中cd ../..とタイプpip install django

2)を入力して、インストールを確認できますdjango-admin --version。仮想環境内にインストールされているdjangoのバージョン番号が表示されるはずです。

次にpython manage.py runserver、Pythonサーバーを起動するために入力します。


0

複数のpythonバージョンがマシンにインストールされている場合。インストールしようとしているさまざまなパッケージが競合するため、最善のアプローチはvirtualenvを使用することです。

  1. シンプルインストール仮想環境とPythonバージョン
  2. virtualenv envを使用して、virtualenvironmentを作成します。
  3. virtualenvをアクティブにします。を使用します。/ env_name / bin / activate
  4. pip install django == 1.70を使用します(djangoをインストールするバージョンを指定します)
  5. すべてのインストール済みパッケージをリストするpipリスト。

0

私はこの問題を抱えていますが、最近まで私のプロジェクトではvscodeが私の仮想環境を認識していなかったので、プロジェクトを実行しようとするとvscodeがdjangoをインポートできないというエラーが表示されます

仮想環境のライブラリを塗りつぶしにエクスポートしたという私のための修正

pip freeze > req.txt

次に、同じ要件を持つ新しい仮想環境を作成し、それが機能しました

注:このpython仮想環境を検索してみてください


0

私は同じ問題に直面しました。仮想環境$ source bin / activateをアクティブにしました

その後、Djangoのバージョンが表示されました

何もインストールする必要はありませんでした。


mamata @ mamta-inspire-all:〜/ dodjango $ python -m django --version / usr / bin / python:djangoという名前のモジュールはありません

mamata @ mamta-inspire-all:〜/ dodjango $ django-admin --version

コマンド 'django-admin'が見つかりませんが、次のコマンドでインストールできます:

sudo apt install python-django-common

mamata @ mamta-inspire-all:〜/ dodjango $ source bin / activate

(dodjango)mamata @ mamta-inspire-all:〜/ dodjango $ ls

bin include lib lib64 mamusite pyvenv.cfg share

(dodjango)mamata @ mamta-inspire-all:〜/ dodjango $ django-admin --version 2.2.5

(dodjango)mamata @ mamta-inspire-all:〜/ dodjango $ python -m django --version 2.2.5



AskUbuntuの助けを借りて答えを編集してみてください。
ニミシャン

-1

PyCharmのプロジェクトフォルダーの名前を変更すると、この問題が発生します。

  1. [ターミナル]タブが仮想環境(venvフォルダー)へのアクセスを停止しました。それを修正するために、私はSettings -> Project -> Project通訳に行き、そこでフォルダを変更しました。
  2. ジャンゴは「消えた」。django-admin --version応答しませんでした。修正するには、私がやったpip install django範囲内venv

助けた。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.