#!/usr/bin/python3
import cgi, os
import docx #-->>importing docx throws internal error on apache2 server while accessing the script as shown in sys log error below
print("Content-type: text/html\r\n\r\n")
print("<html><body><h1>Online Form</h1>")
form = cgi.FieldStorage()
print("<p>Upload your file: <input type = 'file' name = 'filename' /></p>")
print("<input type='submit' value='Submit' />")
print("</form></body></html>")
#User uploads draft document here
fileitem = form['filename']
if fileitem.filename:
fn = os.path.basename(fileitem.filename)
open( '/home/'+fn, 'wb').write(fileitem.file.read())
message = 'The file "' + fn + '" was uploaded successfully'
else:
message = 'No file was uploaded'
Журналы ошибок apache2 показывают, что нет модуля docx
[Вс 28 октября 02: 20: 42.040073 2018] [cgid: ошибка] [pid 19404: tid 139701431580416] [клиент10.254.101.169:51915] Конец вывода сценария перед заголовками: stack.py
Traceback (последний вызов был последним):
Файл "/var/www/stack.py", строка 3, в
import docx
ImportError: Нет модуля с именем 'docx'
Но ниже выводных данных показано, что модуль docx успешно импортируется в командной строке python3
host@ubuntu:~$ python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import docx
>>>
>>>