すべてのファイルを/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
UNIX環境に移行したばかりなので、そのようなプラットフォームのベストプラクティスにも移行することをお勧めします。
PIPをダウンロード
Sudo apt-get install python-pip
Virtualenvをダウンロードしてインストールし、アプリ用に個別のpython仮想環境をセットアップします。これにより、さまざまなフレーバーのDjangoと他のソフトウェアを競合することなく実行できます。
Sudo pip install virtualenv
を実行して仮想環境を作成します。 binフォルダーとその中にいくつかの実行可能ファイルがあるmyvirtualenvironmentというフォルダーを取得します。
virtualenv myvirtualenvironment --no-site-packages
新しく作成された仮想環境で作業していることをシェルに通知するには、/myvirtualenvironment/bin/
にあるアクティブ化スクリプトを実行する必要があります。
source myvirtualenvironment/bin/activate
これで、特にその仮想環境にDjangoをインストールできます。
pip install Django
OR pip install Django==1.6
インストールするバージョンによって異なります。指定しない場合は、最新バージョンがインストールされます。
ここで、Djangoプロジェクトを/myvirtualenvironment/
内に移行し、runserverコマンドを実行します。
ディレクトリにいくつかの.pycファイルがあり、コンソールからエラーが発生しない場合があります。 pipからDjangoをインストールしようとしています。
Sudo pip install Django
ベストプラクティスは、requirements.txtファイルを作成することをお勧めします(Windowsインストールから)
pip freeze > requirements.txt
次に、新しいvirutalenvを作成して、すべてのパッケージをインストールします
mkvirtualenv myapp
pip install -r requirements.txt
同じエラーが発生した後、このページにアクセスしました(サイトでは、何ヶ月も問題なく開発を進めてきました)。私にとって@asajiの答えは、仮想環境を起動するのを忘れていたことを思い出させてくれました。
仮想環境を起動した後. Scripts/activate
うまくいきました!