1

ci专业人士,

我无法弄清楚为什么这段代码找不到共享库。请看日志

https://pastebin.com/KvJP9Ms3

    [31mImportError while importing test module '/home/travis/build/alexlib/pyptv/tests/test_pyptv_batch.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/test_pyptv_batch.py:1: in <module>
    from pyptv import pyptv_batch
pyptv/pyptv_batch.py:20: in <module>
    from optv.calibration import Calibration
E   ImportError: liboptv.so: cannot open shared object file: No such file or directory[0m
!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!!
[1m[31m=========================== 1 error in 0.43 seconds ============================[0m

拉取请求 https://github.com/alexlib/pyptv/pull/4 和构建https://travis-ci.org/alexlib/pyptv/builds/342237102

我们有一个 C 库 ( http://github.com/openptv/openptv ),我们需要编译并使用 Cython 绑定添加到 Python,然后我们通过绑定使用 Python。测试在本地工作,但不在 Travis-CI(优质服务)上。我认为这是一个简单的路径问题,但我不知道如何处理这个问题。

提前感谢亚历克斯

4

1 回答 1

0

我找到的答案是设置 Mac OS X 上所需的 DYLD_LIBRARY_PATH:

  • 导出 PATH=$PATH:/usr/local/lib
  • 导出 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
  • 导出 DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/lib
于 2018-02-24T20:03:44.150 回答