web-dev-qa-db-ja.com

インポートエラー:djangoという名前のモジュールはありません

CentOS Linuxを使用しています。

python 2.6 with Djangoでしたが、今ではpython 2.7。
Python 2.6は/usr/lib/python2.6にあります。
Python 2.7は/usr/local/lib/python2.7にあります。
両方にsite-packagesディレクトリがあり、両方ともDjango 1.2。

pythonを実行すると、2.7バージョンが取得されます。
私の問題は、Django i get

ImportError:Djangoというモジュールはありません

私のPYTHONPATHがどこで定義されているのか、これが変更する必要があるのか​​どうかはわかりません。誰でも ?

2.6サイトパッケージディレクトリへのシンボリックリンクを作成しました。

20
yossi

パスを確認するには、次のコードを使用できます。

_import sys     
print(sys.path)
_

Djangoがインストールされている場所が既にわかっている場合、_directory in sys.path_を使用して目的のディレクトリがパスにあるかどうかを簡単にテストできます。

PYTHONPATHが定義されている場所については、それが環境変数であることに注意してください。そのため、(定義されている場合)_echo $PYTHONPATH_で値を確認できます。

15
jcollado

私は同じエラーがありました、そしてこれは私の問題を修正します

python -m pip install Django

:)完了!

Linuxでは、.profileまたは.bashrcでPYTHONPATH環境変数を設定できます。ホームディレクトリに移動して(cd〜)、端末から直接編集してからファイル(nano .bashrc)を編集するか、gtkeditまたはvimなどでファイルを開いて追加します:

PYTHONPATH=/usr/local/lib/python2.7/site-packages:/another/path/etc

プロファイルを編集する前にこれをテストする場合は、ターミナルからこれを次のようにエクスポートできます。

export PYTHONPATH=/local/lib/python2.7/site-packages

これをコマンドラインから直接実行していると仮定しています。 Apacheでwsgiモジュールとして実行している場合、次のようにwsgiファイルからsyspathに追加できます。

import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')
14
Adam Morris

試してみる

pip freeze

このコマンドは、システムにインストールされているパッケージを表示し、root権限で実行します

pip install Django

次に、コマンドで新しいプロジェクトを作成します

Django-admin.py startproject mysite

その後、プロジェクトを開始します

cd path/to/mysite
./manage.py runserver 

ファイルwsgi.pyに次の行を追加します

import os
import sys
Django_PATH =  os.path.join(os.path.abspath(os.path.dirname(__file__)), '..')
sys.path.append(Django_PATH)
11

印刷してみてくださいsys.pathパスに何があるかを確認します。 Djangoはリストされたディレクトリのいずれかにある必要があります。Windowsの例:

>>> import sys
>>> for p in sys.path: print p

C:\Python27\Lib\idlelib
C:\Windows\system32\python27.Zip
C:\Python27\DLLs
C:\Python27\lib
C:\Python27\lib\plat-win
C:\Python27\lib\lib-tk
C:\Python27
C:\Python27\lib\site-packages
>>> 
9
Mariusz Jamro