我是python的新手,我在github上找到了这个项目" https://github.com/jadsonbr/pyreport",我想从mysql服务器打印发票。我安装了pyreport和jasperpy,但是当我尝试运行代码时,我收到了这个错误:
Traceback (most recent call last):
File "E:/onedrive/Documents/optimpos/module/fact_print.py", line 36, in <module>
compiling()
File "E:/onedrive/Documents/optimpos/module/fact_print.py", line 9, in compiling
jasper = pyjasper.JasperPy()
AttributeError: 'module' object has no attribute 'JasperPy'
我的fact_print.py看起来像这样:
import os,sys,subprocess
from platform import python_version
import pyjasper
sys.stderr = open("errlog.txt", "w")
def compiling():
input_file = os.path.dirname(os.path.abspath(__file__)) + \
'/Invoice_2.jrxml'
jasper = pyjasper.JasperPy()
jasper.compile(input_file)
def advanced_example_using_database():
input_file = os.path.dirname(os.path.abspath(__file__)) + \
'/Invoice_2.jrxml'
output = os.path.dirname(os.path.abspath(__file__)) + '/'
con = {
'driver': 'mysql',
'username': 'admin1',
'password': 'marcopolo',
'host': 'localhost',
'database': 'optimpos',
'schema': 'temp_vanzari',
'port': '3306'
}
jasper = pyjasper.JasperPy()
jasper.process(
input_file,
output_file=output,
format_list=["pdf", "rtf", "xml"],
parameters={'python_version': python_version()},
db_connection=con,
locale='en_US' # LOCALE Ex.:(en_US, de_GE)
)
print("done printing")
这可能是一个简单的答案,但我无法找到pyjasper.JasperPy()
为什么不起作用的原因。我正在使用pyhton 2.7
这只是一个测试代码,mysql服务器只是用于测试。 需要一些帮助,谢谢
答案 0 :(得分:0)
我遇到了同样的问题。 Git页面上的教程令人困惑,我的印象是我可以直接从克隆的repo pyjasper/
导入。我的解决方案是:
来自pyjasper.jasperpy的导入JasperPy
一旦我这样做,我就能继续学习本教程。