gpt4 book ai didi

python - 导入错误: No module named web

转载 作者:太空宇宙 更新时间:2023-11-03 19:06:42 24 4
gpt4 key购买 nike

当我尝试使用 mod_wsgi 运行我的 web.py 应用程序时,我的 apache 错误日志文件中出现此错误。我已在我的共享主机上成功安装了 web.py,并且我可以确认我能够在本地导入它:

>>> import web
>>> web.application(('/', 'test'), globals())
<web.application.application instance at 0x1f8d3b0>

我还能够运行内置服务器并成功为我的网站提供页面。

我可以确认 mod_wsgi 模块也在 apache 中工作,因为我能够使用 wsgi 的手动编码来服务页面应用程序。

我在 web.py 文档 http://webpy.org/install#apachemodwsgi 上尝试了针对 ImportError: No module named web 错误消息的建议方法,即添加:

abspath = os.path.dirname(__file__)
sys.path.append(abspath)
os.chdir(abspath)

import web

我还添加了 http.conf 文件中建议的 Files 标记,这似乎是多余的,因为我已经设置了 htdocs 目录,但无论如何。我的 httpd.conf 文件如下,我已经重新启动了 apache,但仍然收到导入错误消息。

ServerRoot "/home/usr1/webapps/test/apache2"

LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule wsgi_module modules/mod_wsgi.so

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog /home/usr1/webapps/test/logs combined
DirectoryIndex index.py
DocumentRoot /home/usr1/webapps/test/htdocs
ErrorLog /home/usr1/webapps/test/apache2/logs/error_test.log
KeepAlive Off
Listen 21708
MaxSpareThreads 3
MinSpareThreads 1
ServerLimit 1
SetEnvIf X-Forwarded-SSL on HTTPS=1
ThreadsPerChild 5
WSGIDaemonProcess test processes=5 python-path=/home/usr1/webapps/test/lib/python3.1 threads=1
WSGIProcessGroup test
WSGIRestrictEmbedded On
WSGILazyInitialization On

<Directory /home/usr1/webapps/test/htdocs>
AddHandler wsgi-script .py
</Directory>

<Files /home/usr1/webapps/test/htdocs/index.py>
SetHandler wsgi-script
Options ExecCgi FollowSymLinks
</Files>

最佳答案

首先,你的apache mod_wsgi似乎是用python 3编译的,web.py不支持它。

你的apacheconf看起来很像我在Webfaction上的那个,如果有一个带有python 2.7的mod_wsgi安装程序,你必须选择它而不是python 3。

这就是我典型的conf:

ServerRoot "/home/username/webapps/projectname/apache2"

LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule alias_module modules/mod_alias.so
LoadModule wsgi_module modules/mod_wsgi.so

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog /home/username/logs/user/access_projectname.log combined
ErrorLog /home/username/logs/user/error_projectname.log
KeepAlive Off
Listen 21708
MaxSpareThreads 3
MinSpareThreads 1
ServerLimit 1
WSGIPythonOptimize 2
ThreadsPerChild 5
WSGIDaemonProcess projectname processes=5 threads=1
WSGIPythonHome /home/username/lib/python2.7 # your python home dir where libraries are installed
WSGIProcessGroup projectname
WSGIRestrictEmbedded On
WSGILazyInitialization On
WSGIScriptAlias / /home/username/webapps/projectname/htdocs/code.py/
Alias /static /home/username/webapps/projectname/htdocs/static

这是示例代码.py

#!/usr/bin/env python
import os
import sys
sys.path.append(os.path.abspath(os.path.dirname(__file__)))
from app import app

if __name__ == "__main__":
app.run()
else:
application = app.wsgifunc()

关于python - 导入错误: No module named web,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14545099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com