我在我的 Django 安装中使用了 Virtualenv,并使用了 Pycrypto 加载了
pip install pycrypto
采购我的环境后。
当我尝试将 Crypto 导入我的模型时,我得到一个导入错误,但是如果使用加载 shell
manage.py shell
它确实加载了,没有问题。
我很确定 django 是从 virtualenv 运行的,因为它运行的是 1.3.1,它比路径上安装的更新,我已经通过 pip 安装了 South,它正在工作。
我也尝试使用安装 Pycrypto
setup.py install
关于我如何修复/调试这个的任何想法?
谢谢
编辑:我对 Django 和 Python 比较陌生,所以它可能很简单
编辑 2:嘿,伊萨克,
有什么方法可以找到所有加载的模块?
我不明白为什么它不能在浏览器中工作,但可以在交互式 shell 中工作?我并不是说它不能,我只是不知道这是否/如何发生。
按要求导入错误:
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