Я на Ubuntu 18.04. У меня есть код Python CGI, который работает нормально на Python2.7, но не работает на Python 3.6.
Код здесь:
#!/usr/bin/env python3
import os,sys
import cgi
import cgitb
cgitb.enable(display=0, logdir='./tmp/')
# set HOME to a directory the httpd server can write to
os.environ[ 'HOME' ] = './tmp/'
import mysql.connector
import numpy as np
import matplotlib
# chose a non-GUI backend
matplotlib.use( 'Agg' )
print("Content-Type: text/plain;charset=utf-8")
print()
print("Success")
Я получаю следующую ошибку:
Проблема возникла в скрипте Python. Вот последовательность вызовов функций, приводящих к ошибке, в порядке их возникновения.
/ var / www / html / pythonTest / cgi-bin / form.py in ()
13 import numpy as np
14
=>15 import matplotlib
16 # chose a non-GUI backend
17 matplotlib.use( 'Agg' )
matplotlib undefined
ModuleNotFoundError: нет модуля с именем 'matplotlib'
args = ("No module named 'matplotlib'",)
msg = "No module named 'matplotlib'"
name = 'matplotlib'
path = None
with_traceback = <built-in method with_traceback of ModuleNotFoundError object>
Но в командной строке я могу импортировать модуль matplotlib.
ansh@ansh-Latitude-3450:~$ python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib
>>>
Но если я перейду на python 2.7, ошибки не будет.
Пожалуйста, помогите.