django simple captcha没有这样的文件/usr/share/dict/words

django simple captcha没有这样的文件/usr/share/dict/words,django,virtualenv,captcha,gunicorn,Django,Virtualenv,Captcha,Gunicorn,我正在使用Ubuntu Trusty在虚拟机上部署我的Django项目。 为此,我使用了Gunicorn(与Supervisor一起)和Nginx 以下是我遵循的教程的链接: 当我启动Nginx和Gunicorn时,网站是可访问的,但当我试图访问使用django simple captcha等应用程序的页面时,我会收到“服务器错误(500)”。 当我使用virtualenv时,所有安装了pip的应用程序(rosetta、easymode、simple captcha…)都存储在myvirtua

我正在使用Ubuntu Trusty在虚拟机上部署我的Django项目。 为此,我使用了Gunicorn(与Supervisor一起)和Nginx

以下是我遵循的教程的链接:

当我启动Nginx和Gunicorn时,网站是可访问的,但当我试图访问使用django simple captcha等应用程序的页面时,我会收到“服务器错误(500)”。
当我使用virtualenv时,所有安装了pip的应用程序(rosetta、easymode、simple captcha…)都存储在myvirtualenv/myproject/lib/python2.7/站点包中

经过一些研究,我修改了我的wsgi.py文件,将站点包目录添加到路径中,如下所示:

import os, sys, site

# Tell wsgi to add the Python site-packages to its path
site.addsitedir(os.path('/webapps/project/lib/python2.7/site-packages'))

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")

#activate_this = os.path('/webapps/project/bin/activate_this.py')
#execfile(activate_this, dict(__file__=activate_this))
#sys.path.append(os.path('/webapps/project/'))

from django.core.wsgi import get_wsgi_application 
application = get_wsgi_application()
。。。但它仍然不起作用,因为我知道如果我取消上面三行中的一行的注释,我会在重新启动gunicorn时收到一条错误消息:

project: ERROR (abnormal termination)
你认为这里的问题是我没有激活virtualenv吗?
我是否应该找到其他方法来激活它?
我如何获得更多关于gunicorn为什么不以
execfile
sys.path.append
行开头的信息 你有什么建议吗

请让我知道它是否缺少信息,如gunicorn_开始脚本(即使它与我们在许多教程中找到的相同):)

更新: 我没有引起足够的注意,gunicorn\u start
脚本正在激活virtualenv,因此我不需要在wsgi.py文件中执行此操作。 但问题仍然存在:我在wsgi.py文件中打印sys.path,当我使用
python manage.py runserver my.server.address:8000
命令时,我可以看到所有需要的目录都在:

['/webapps/project/project', '/webapps/project/lib/python2.7', '/webapps/project/lib/python2.7/plat-x86_64-linux-gnu', '/webapps/project/lib/python2.7/lib-tk', '/webapps/project/lib/python2.7/lib-old', '/webapps/project/lib/python2.7/lib-dynload', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/webapps/project/local/lib/python2.7/site-packages', '/webapps/project/lib/python2.7/site-packages']

当我尝试加载一个使用
django simple captcha
应用程序的页面时,我不明白为什么会出现
服务器错误(500)
,该应用程序位于
/webapps/project/lib/python2.7/site packages

经过一些测试后,我发现问题的根源只是
django simple captcha
。不要问我为什么我之前不想这么做,但我打开了调试,然后我得到了一个IO错误: 没有此类文件/usr/share/dict/words

事实上,我正在使用

CAPTCHA_CHALLENGE_FUNCT = 'captcha.helpers.word_challenge'
在my
settings.py中

两种解决方案:

  • 对django简单验证码使用另一个生成器:
  • 安装所需的词汇表:

    sudo apt-get install wamerican
    sudo apt-get install wfrench
    ...