FPDF ImportError: No module named fpdf

FPDF ImportError: No module named fpdf

我正在尝试 运行 来自 PHP 的 python 脚本。 python 脚本从文本文件中读取内容并相应地创建 PDF。当我从终端 运行 Python 脚本时,它运行良好,我按预期获得了所需的 PDF。但是当我尝试 运行 来自 PHP 的 python 脚本时,它给了我以下错误:

Traceback (most recent call last): File "/home/amogh/server/test.py", line 3, in from fpdf import FPDF ImportError: No module named fpdf 

PHP代码:

<?php
$output = shell_exec("/home/amogh/server/test.py 2>&1");
echo $output;
?>

Python代码:

#! /usr/bin/python

from fpdf import FPDF
fp =  open('downloads/boot.txt', 'r')
pdf = FPDF()
pdf.add_page()
pdf.set_font('Arial', '', 11)
line = fp.read() 
pdf.multi_cell(200, 5, line, 0, 1)
pdf.output('test.pdf', 'F')

我已经使用此命令安装了 fpdf

pip install fpdf 

我运行正在 lighttpd 服务器上安装我的 PHP 文件。谁能告诉我哪里错了?

可能是因为运行使用脚本的用户不同。我认为当你从 php 运行 时,它是作为用户 www-data

执行的

也许你 运行 来自 virtualenv 的 pip 或出于某些其他原因 www-data 用户无法访问 fpdf 模块。

编辑:

来自评论的有用链接:

How to install Python Package for global use by all users (incl. www-data)

http://nocurve.com/2018/04/23/running-python-script-from-php-as-www-data/