2012-07-18 152 views
0

我想在我的Python虚拟环境中安装python-oath2库,在Dreamhost共享托管文件上通过Pythonbrew运行python 2.7.3。为什么Django不能识别我已安装的软件包?

首先我在这个链接上下载了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 

当我import oauth2在Python解释器,没有错误表面。然而,当我在我的Django应用程序的views.py调用import oauth2,将引发一个错误:

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

我试图重新启动客运(touch tmp/restart.txt),重新启动的Python(pkill python),并重新ssh方式连接到服务器。我也试过pb switch 2.7.3以确保我使用的是正确版本的Python。为什么Django不允许我导入oauth2,如果导入它在Python解释器中工作?

+0

它在INSTALLED_APPS settings.py中? – 2012-07-18 04:42:48

+0

谢谢 - 不,我没有在INSTALLED_APPS中列出'oauth',但'oauth'是一个Python包,而不是Django应用程序,对不对?因此,我为什么要在那里列出它? – dangerChihuahua007 2012-07-18 04:55:40

回答

1

运行你的Django应用程序的流程是:

  1. 不使用自定义的Python,所以它不能找到你的包
  2. 先后在PYTHONPATH用于包装上市不同的目录,并不能找到它。
  3. 最后,如果这两个都不是真的 - 尝试使用类似这样的东西 - find . -name *.pyc -exec rm {} \;删除所有*.pyc文件并重新启动后端服务器(乘客)。
+0

谢谢!如何有效验证前两个? – dangerChihuahua007 2012-07-18 05:23:25

+0

嗨!我想你是正确的!来自Django的堆栈跟踪记录来自python2.5的文件,而我想使用python 2.7.3。我如何让Django使用Python 2.7.3的python brew安装? – dangerChihuahua007 2012-07-18 05:27:46