python - "File too short"与 Tableau 数据提取 API(Python 和 Linux)

标签 python linux api tableau-api

Tableau 最近将一些面向开发人员的工具从仅限 Windows 扩展到了 Linux。下载后 Tableau Data Extract API Linux(64 位,版本 8.1)上的 Python (2.7) 库,我提取文件并使用标准“python setup.py install”安装库

尝试使用适用于 Windows 的代码运行时,出现以下错误:

Traceback (most recent call last):
File "apache.py", line 280, in <module>
  print create_tableau(tsvfile)
File "apache.py", line 136, in create_tableau
  import dataextract as tde
File "/usr/local/lib/python2.7/dist-packages/dataextract/__init__.py", line 15, in <module>
  from Base import *
File "/usr/local/lib/python2.7/dist-packages/dataextract/Base.py", line 17, in <module>
  from . import StringUtils
File "/usr/local/lib/python2.7/dist-packages/dataextract/StringUtils.py", line 17, in <module>
  tablib = libs.load_lib
File "/usr/local/lib/python2.7/dist-packages/dataextract/Libs.py", line 35, in load_lib
  self.lib = ctypes.cdll.LoadLibrary(self.lib_path)
File "/usr/lib/python2.7/ctypes/__init__.py", line 443, in LoadLibrary
  return self._dlltype(name)
File "/usr/lib/python2.7/ctypes/__init__.py", line 365, in __init__
  self._handle = _dlopen(self._name, mode)
OSError: /usr/local/lib/python2.7/dist-packages/dataextract/lib/../lib/libicuio.so.50: file too short

如何解决这个“文件太短”错误?

最佳答案

复制或提取库时出现错误,链接实际上是文件。一个类似的例子是 here .

您需要删除应该是链接的文件,然后重新链接它们。

cd /usr/local/lib/python2.7/dist-packages/dataextract/lib/../lib/

rm libicudata.so.50 && ln -s libicudata.so.50.1.2 libicudata.so.50
rm libicui18n.so.50 && ln -s libicui18n.so.50.1.2 libicui18n.so.50
rm libicuio.so.50 && ln -s libicuio.so.50.1.2 libicuio.so.50
rm libicule.so.50 && ln -s libicule.so.50.1.2 libicule.so.50
rm libiculx.so.50 && ln -s libiculx.so.50.1.2 libiculx.so.50
rm libicutu.so.50 && ln -s libicutu.so.50.1.2 libicutu.so.50
rm libicuuc.so.50 && ln -s libicuuc.so.50.1.2 libicuuc.so.50

关于python - "File too short"与 Tableau 数据提取 API(Python 和 Linux),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22247734/

相关文章:

Python DataFrame - groupby 和质心计算

linux - 如何与其他格式化选项(如剪切和管道)一起进行内联 shell 替换

python - 如何检测用户使用电视马拉松阅读消息?

python - 创建 python win32 服务

python - 杀死 less(1) 子进程后输入失败

linux - linux 的 IP 地址阻止列表

具有不同权限的 RESTful 端点

api - Databricks Job API 使用单节点集群创建作业

python - 使用 Pandas ,如何将导出的 csv 文件保存到相对于脚本位置的文件夹?

linux - Linux 中的 TeeChart 库替代品是什么?