【发布时间】:2020-05-20 20:25:23
【问题描述】:
下面的 Python 脚本 (testbov.py) 从小说《包法利夫人》中提取一个句子。
'''
#!/usr/bin/env python
from random import randint
import io
import codecs
from htmlcreator import HTMLDocument
import webbrowser
with codecs.open('./bovary_sc_no_susp.txt', 'r', encoding='utf8', errors='ignore') as source:
data=source.read()
splot_data=data.split(".")
has = randint(0,len(splot_data))
prise = splot_data[has]
document = HTMLDocument()
document.set_title('a slice of Bovary')
document.add_header('The slice')
document.add_text(prise)
document.write('my_document.html')
webbrowser.open('./my_document.html')
'''
通过以下命令“python testbov.py”从它所在的目录(/var/www/html/test/cgi-bin)运行脚本时,它会执行他必须做的事情,并以浏览器页面。 (Python是miniconda安装的python 3.7)
当使用运行按钮从 Geany 启动脚本时,它会打开一个终端并显示以下错误消息:
Traceback (most recent call last):
File "testbov .py", line 7, in <module>
from htmlcreator import HTMLDocument
ImportError: No module named htmlcreator
------------------
(program exited with code: 1)
Press return to continue
当通过指向localhost/test的浏览器调用脚本时,test目录下的index.html如下:
<html><head><title>minimal page</title></head>
<form action="http://localhost/test/cgi-bin/testbov.py" />
<input type="submit" value="Go !" />
</form></html>
我在 /var/log/apache2/error.log 中收到错误 500 和以下消息:
Traceback (most recent call last):
File "/var/www/html/test/cgi-bin/testbov.py", line 7, in <module>
from htmlcreator import HTMLDocument
ImportError: No module named htmlcreator
看来浏览器和 geany 都无法找到 htmlcreator(通过 pip 安装),而终端却可以找到。
【问题讨论】:
标签: python apache2 python-module geany