Получение ошибки модуля matplotlib на странице Python3 cgi - PullRequest
0 голосов
/ 12 апреля 2019

Я на 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, ошибки не будет.

Пожалуйста, помогите.

...