为什么Django不能识别我安装的软件包?

时间:2012-07-18 04:21:20

标签: django python-2.7 dreamhost

我正在尝试在Dreamhost共享主机文件上通过Pythonbrew运行python 2.7.3的Python虚拟环境中安装python-oath2库。

首先,我在此链接上下载了tarball,然后解压缩了文件内容。 https://github.com/simplegeo/python-oauth2

然后cd加入解压缩的文件夹,然后运行

python setup.py build
python setup.py install

这在目录

中生成了一个新文件oauth2-1.5.211-py2.7.egg
/home/davidfaux/.pythonbrew/pythons/Python-2.7.3/lib/python2.7/site-packages

当我在Python解释器中import oauth2时,没有错误浮出水面。但是,当我在Django应用程序的views.py中调用import oauth2时,会出现错误:

Could not import myapp.views. Error was: No module named oauth2

我尝试重新启动Passenger(touch tmp/restart.txt),重新启动Python(pkill python),然后重新加入服务器。我还尝试pb switch 2.7.3以确保我使用的是正确版本的Python。为什么Django不允许我导入oauth2如果导入它在Python解释器中工作?

1 个答案:

答案 0 :(得分:1)

运行django应用程序的过程是:

  1. 不使用自定义Python,因此无法找到您的包
  2. PYTHONPATH中为包列出了不同的目录,但找不到它。
  3. 最后,如果两者都不正确 - 尝试使用类似这样的内容删除所有*.pyc文件 - find . -name *.pyc -exec rm {} \;并重新启动后端服务器(乘客)。