该错误仅发生在 web.xml 中。如果我在控制台中运行它,那没关系。我在 ubuntu 中工作。
我已经使用 CGI 设置了 apache2 来处理 python 并尝试在代码中显示 python 版本,并且可以证明 web 和控制台都在相同的 python 版本和用户上运行。
但是只要导入lxml.etree,我就得到了下面的错误。
Traceback (most recent call last):
File "/usr/lib/cgi-bin/TestPy.py", line 3, in <module>
import lxml.etree as ET
ImportError: No module named lxml.etree
我的 CGI 配置如下: 文件名:serve-cgi-bin.conf
<IfDefine ENABLE_USR_LIB_CGI_BIN>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
#AddHandler cgi-script .py
#Order allow,deny
#Allow from all
</Directory>
</IfDefine>
我的python代码如下:
#!/usr/bin/python
import lxml.etree as ET
import sys
print "Content-Type: text/plain\r\n\r\n"
print "Hello World!"
print "[" + sys.version + "]" + " [" + sys.prefix + "]"
#xml_filename='/var/www/htmprint/Water.xml'
#xsl_filename='/var/www/htmprint/Water.xsl'
#dom = ET.parse(xml_filename)
#xslt = ET.parse(xsl_filename)
#transform = ET.XSLT(xslt)
#newdom = transform(dom)
#print(ET.tostring(newdom, pretty_print=True))
我觉得 lxml.etree 文件的权限不太正确,但我无法弄清楚这一点。
如果有人可以提供帮助,请提前致谢。
垃圾桶