Python 金字塔+;mod_wsgi没有接收到virtualenv

Python 金字塔+;mod_wsgi没有接收到virtualenv,python,apache,mod-wsgi,pyramid,Python,Apache,Mod Wsgi,Pyramid,所以,与之类似,我似乎无法让Pyramid和mod_wsgi达成足够的协议来托管我的应用程序 这是我的虚拟主机 LoadModule proxy_module modules/mod_proxy.so WSGIPythonHome /usr/local/pythonenv/BASELINE WSGIPythonPath /usr/local/pythonenv/BASELINE <VirtualHost *:80> ProxyPreserveHost On ServerNa

所以,与之类似,我似乎无法让Pyramid和mod_wsgi达成足够的协议来托管我的应用程序

这是我的虚拟主机

LoadModule proxy_module modules/mod_proxy.so
WSGIPythonHome /usr/local/pythonenv/BASELINE
WSGIPythonPath /usr/local/pythonenv/BASELINE

<VirtualHost *:80>
  ProxyPreserveHost On
  ServerName domain.com
  ServerAdmin me@domain.com

  ErrorLog /home/me/log/error.log
  CustomLog /home/me/log/access.log combined

  WSGIApplicationGroup %{GLOBAL}
  WSGIPassAuthorization On

  WSGIDaemonProcess pyramid user=www-data group=www-data \
      processes=1 threads=4 \
      python-path=/var/app/app/appenv/lib/python2.7/site-packages
  WSGIScriptAlias / /var/app/app/dispatch.wsgi

  <Directory /var/app/app/>
  WSGIProcessGroup pyramid
  Order allow,deny
  Allow from all
  </Directory>
</VirtualHost>
我甚至得到了同样的错误:

[Tue May 06 11:45:54 2014] [error] [client xxx.xx.xx.xxx] mod_wsgi (pid=8156): Target WSGI script '/var/app/app/dispatch.wsgi' cannot be loaded as Python module.
[Tue May 06 11:45:54 2014] [error] [client xxx.xx.xx.xxx] mod_wsgi (pid=8156): Exception occurred processing WSGI script '/var/app/app/dispatch.wsgi'.
[Tue May 06 11:45:54 2014] [error] [client xxx.xx.xx.xxx] Traceback (most recent call last):
[Tue May 06 11:45:54 2014] [error] [client xxx.xx.xx.xxx]   File "/var/app/app/dispatch.wsgi", line 9, in <module>
[Tue May 06 11:45:54 2014] [error] [client xxx.xx.xx.xxx]     from pyramid.paster import get_app, setup_logging
[Tue May 06 11:45:54 2014] [error] [client xxx.xx.xx.xxx]   File "/usr/local/lib/python2.7/dist-packages/pyramid/paster.py", line 3, in <module>
[Tue May 06 11:45:54 2014] [error] [client xxx.xx.xx.xxx]     from paste.deploy import (
[Tue May 06 11:45:54 2014] [error] [client xxx.xx.xx.xxx] ImportError: No module named paste.deploy
从Pyramid试图在/usr/local/lib中使用粘贴程序的事实来看,出于某种原因,它似乎没有注意到我的应用程序特定的virtualenv。有什么想法吗


值得注意的是,服务器上运行的另一个mod_wsgi应用程序不是守护程序模式。那会干扰吗

是的,它可能会干扰。如果您想要多个不相关的进程(完全公开-我从来没有使用过挂架,只有Django,尽管我认为就部署而言,它是类似的),那么应该使用守护程序模式将另一个应用程序移动到守护程序模式似乎不起作用。还有其他想法吗?WSGIPythonHome是指向替代python环境(即项目的VirtualEnvironment)的指令,因此我将寻找它。除此之外,我建议您尝试暂时从apache中删除另一个应用程序,以完全排除这一问题。您使用的virtualenv版本是什么?如果是最新版本,您是否使用了--site packages选项(不推荐)。如果virtualenv被设置为与主站点包隔离,那么它不应该从/usr/local/lib/python2.7/dist-packages中获取内容。另外,您正在将mod_python加载到同一个Apache中。首先回答这些问题,然后指出设置中的其他问题。下一个问题是“WSGIPythonPath/usr/local/pythonenv/BASELINE”可能是错误的。它不接受Python安装的sys.prefix值,而是包含Python模块的目录。不会造成伤害,但可能也不会做任何事情。
[Tue May 06 11:45:54 2014] [error] [client xxx.xx.xx.xxx] mod_wsgi (pid=8156): Target WSGI script '/var/app/app/dispatch.wsgi' cannot be loaded as Python module.
[Tue May 06 11:45:54 2014] [error] [client xxx.xx.xx.xxx] mod_wsgi (pid=8156): Exception occurred processing WSGI script '/var/app/app/dispatch.wsgi'.
[Tue May 06 11:45:54 2014] [error] [client xxx.xx.xx.xxx] Traceback (most recent call last):
[Tue May 06 11:45:54 2014] [error] [client xxx.xx.xx.xxx]   File "/var/app/app/dispatch.wsgi", line 9, in <module>
[Tue May 06 11:45:54 2014] [error] [client xxx.xx.xx.xxx]     from pyramid.paster import get_app, setup_logging
[Tue May 06 11:45:54 2014] [error] [client xxx.xx.xx.xxx]   File "/usr/local/lib/python2.7/dist-packages/pyramid/paster.py", line 3, in <module>
[Tue May 06 11:45:54 2014] [error] [client xxx.xx.xx.xxx]     from paste.deploy import (
[Tue May 06 11:45:54 2014] [error] [client xxx.xx.xx.xxx] ImportError: No module named paste.deploy
-rwxr-xr-x 1 me me  458 May  5 14:42 dispatch.wsgi