FPDF ImportError:没有名为fpdf的模块

时间:2018-10-09 11:03:35

标签: php python python-2.7 ubuntu-16.04 lighttpd

我正在尝试从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文件。谁能告诉我我要去哪里错了?

1 个答案:

答案 0 :(得分:-1)

这可能是因为运行脚本的用户不同。我认为,当您从php运行它时,它将以用户www-data的身份执行

也许您是从virtualenv运行的,或者由于某些其他原因,www数据用户无法访问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/