1

DjangoインストールでVirtualenvを使用しており、Pycryptoにロードしました。

pip install pycrypto

私の環境を調達した後。

Cryptoをモデルにインポートしようとすると、インポートエラーが発生しますが、を使用してシェルをロードすると

manage.py shell

問題なくロードされます。

djangoはvirtualenvから実行されていると確信しています。1.3.1を実行しているので、パスにインストールされているものよりも最新であり、動作しているpipを介してSouthをインストールしました。

また、Pycryptoを使用してインストールしようとしました

setup.py install

これを修正/デバッグする方法について何か考えはありますか?

ありがとう

編集:私はDjangoとPythonに比較的慣れていないので、単純なものになる可能性があります

編集2:Hey Issac、

ロードされているすべてのモジュールを見つける方法はありますか?

ブラウザでは機能しないのに、インタラクティブシェルでは機能する理由がわかりません。私はそれができないと言っているのではありません、私はそれが起こり得るかどうか/どのように起こるのか分かりません。

要求されたインポートエラー:

ImportError at /
No module named Crypto
Request Method: GET
Request URL:    http://*/
Django Version: 1.3.1
Exception Type: ImportError
Exception Value:    
No module named Crypto
Exception Location: /home/*************/project/app/models.py in <module>, line 1
Python Executable:  /home/*************/env/bin/python
Python Version: 2.6.6
Python Path:    
['/usr/local/dh/passenger/lib/phusion_passenger/wsgi',
 '/home/*************/env/lib/python2.6/site-packages/distribute-0.6.10-py2.6.egg',
 '/home/*************/env/lib/python2.6/site-packages/pip-0.7.2-py2.6.egg',
 '/home/*************/env/src/django-debug-toolbar',
 '/home/*************/env/lib/python2.6',
 '/home/*************/env/lib/python2.6/plat-linux2',
 '/home/*************/env/lib/python2.6/lib-tk',
 '/home/*************/env/lib/python2.6/lib-old',
 '/home/*************/env/lib/python2.6/lib-dynload',
 '/usr/lib/python2.6',
 '/usr/lib64/python2.6',
 '/usr/lib/python2.6/plat-linux2',
 '/usr/lib/python2.6/lib-tk',
 '/usr/lib64/python2.6/lib-tk',
 '/home/*************/env/lib/python2.6/site-packages',
 '/home/*************',
 '/home/*************/project']
Server time:    Tue, 3 Jan 2012 20:08:19 +1100
4

1 に答える 1

0

インポートエラーの原因となる行の直前に、次のコードを挿入します。

import sys
assert False, sys.path

両方の結果を比較します。

シェル内(モジュールをインポートできる場所)。あなたはこれを行うことができます:

import Crypto
assert False, Crypto.__file__

この結果のディレクトリは、Webサーバーのsys.pathにありますか?

于 2012-01-04T11:56:59.857 に答える