ImportError: ни один модуль с именем lxml.etree не сработал в Apache2 CGI
Ошибка произошла только в сети. Если я запускаю его в консоли, это нормально. Я работаю в Ubuntu.
Я настроил apache2, используя CGI для обработки Python, и попытался отобразить версию Python в коде и могу доказать, что веб и консоль работают как на одной версии 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, но я не могу понять это.
Спасибо заранее, если кто-нибудь может помочь.
мусорное ведро
1 ответ
Решение
Установите пакет для глобальных пакетов сайта, а не для вашего.local, который является вашим личным пространством.