web-dev-qa-db-ja.com

manage.py-ImportError:django

すべてのファイルを/var/www/some/dir/djangoAppにコピーするだけで、動作中のDjangoアプリをWindowsシステムからubuntuに移植しました。しかし、今、実行すると

python manage.py runserver 8080

エラーが発生します:

ImportError: no module named Django

Django with python setup.py install to /usr/local/lib/python2.7/dist-packages/Django/の新しいバージョンをすでにインストールし、PYTHONPATHへのパスを追加しました。

Linuxシステムは私によって保守されておらず、多数のpythonバージョンがインストールされています。

シェルで>>> import Djangoを呼び出しても、ImportErrorは発生しません。

私はとても混乱しています。私を助けてください!

コンソールからのトレースバックは次のとおりです。

Traceback (most recent call last):
  File "manage.py", line 13, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python2.7/dist-packages/Django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python2.7/dist-packages/Django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python2.7/dist-packages/Django/core/management/base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/local/lib/python2.7/dist-packages/Django/core/management/base.py", line 280, in execute
    translation.activate('en-us')
  File "/usr/local/lib/python2.7/dist-packages/Django/utils/translation/__init__.py", line 130, in activate
    return _trans.activate(language)
  File "/usr/local/lib/python2.7/dist-packages/Django/utils/translation/trans_real.py", line 188, in activate
    _active.value = translation(language)
  File "/usr/local/lib/python2.7/dist-packages/Django/utils/translation/trans_real.py", line 177, in translation
    default_translation = _fetch(settings.LANGUAGE_CODE)
  File "/usr/local/lib/python2.7/dist-packages/Django/utils/translation/trans_real.py", line 159, in _fetch
    app = import_module(appname)
  File "/usr/local/lib/python2.7/dist-packages/Django/utils/importlib.py", line 40, in import_module
    __import__(name)
ImportError: No module named Django
6
Tobias

UNIX環境に移行したばかりなので、そのようなプラットフォームのベストプラクティスにも移行することをお勧めします。

  1. PIPをダウンロード

    Sudo apt-get install python-pip

  2. Virtualenvをダウンロードしてインストールし、アプリ用に個別のpython仮想環境をセットアップします。これにより、さまざまなフレーバーのDjangoと他のソフトウェアを競合することなく実行できます。

    Sudo pip install virtualenv

  3. を実行して仮想環境を作成します。 binフォルダーとその中にいくつかの実行可能ファイルがあるmyvirtualenvironmentというフォルダーを取得します。

    virtualenv myvirtualenvironment --no-site-packages

  4. 新しく作成された仮想環境で作業していることをシェルに通知するには、/myvirtualenvironment/bin/にあるアクティブ化スクリプトを実行する必要があります。

    source myvirtualenvironment/bin/activate

  5. これで、特にその仮想環境にDjangoをインストールできます。

    pip install Django OR pip install Django==1.6インストールするバージョンによって異なります。指定しない場合は、最新バージョンがインストールされます。

  6. ここで、Djangoプロジェクトを/myvirtualenvironment/内に移行し、runserverコマンドを実行します。

8
asaji

ディレクトリにいくつかの.pycファイルがあり、コンソールからエラーが発生しない場合があります。 pipからDjangoをインストールしようとしています。

Sudo pip install Django

ベストプラクティスは、requirements.txtファイルを作成することをお勧めします(Windowsインストールから)

pip freeze > requirements.txt

次に、新しいvirutalenvを作成して、すべてのパッケージをインストールします

mkvirtualenv  myapp
pip install -r requirements.txt 
2
grouser

同じエラーが発生した後、このページにアクセスしました(サイトでは、何ヶ月も問題なく開発を進めてきました)。私にとって@asajiの答えは、仮想環境を起動するのを忘れていたことを思い出させてくれました。

仮想環境を起動した後. Scripts/activateうまくいきました!

0
Michael Romrell