无法在vanilla Ubuntu Server上设置Python环境

时间:2017-04-02 17:58:00

标签: python server subprocess ubuntu-server tabula

我编写了一个简单的Python服务器,其中包括用于Java库Tabula的tabula-py包装器。在本地测试之后,使用相应的客户端并确定一切正常,我试图在一个vanilla Ubuntu Server 16.04 VBox实例上运行它。当我收到运行时错误(与下面相同)时,我尝试使用Python CLI进行简单测试:

>>> import tabula
>>> df = tabula.read_pdf("https://www.autotrolej.hr/att/wp-content/uploads/2016/04/lin-2-vazi-od-16-01-2017.pdf")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/ubuntu/.local/lib/python2.7/site-packages/tabula/wrapper.py", line 54, in read_pdf_table
    output = subprocess.check_output(args)
  File "/usr/lib/python2.7/subprocess.py", line 567, in check_output
    process = Popen(stdout=PIPE, *popenargs, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 711, in __init__
errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

服务器从命令行启动,使用的shebang是:

#!/usr/bin/env python

我尝试导出pip冻结要求并在VBox服务器上安装相同的库,但只是为了在安装过程中为许多这些库获得相同的子进程错误。我猜这是一个Python环境问题,因为Ubuntu Server没有预先安装Python,所以我可能忽略了安装一个重要的核心库或设置一个环境变量。我错过了什么?

1 个答案:

答案 0 :(得分:1)

正如tabula-py的项目描述所说:

  

tabula-java的简单包装

Tabula-java需要Java。确保您拥有Java installed on your computer。要确保java正常工作,请键入java -version