Docker映像远程Pycharm解释器找不到共享对象文件

时间:2018-07-31 20:38:17

标签: python-3.x docker pycharm

我正在使用docker映像作为远程解释器来测试我们的应用程序代码。运行测试套件时,Python返回错误,指出它在注册目录中找不到特定的共享库文件。列出的目录和错误消息如下:

The registry is in directory
OnyxOsiris InprocServer32 = /opt/conda/lib/python3.6/site-packages/osl1/onyxosiris.so

但是稍后在容器中有几个快速的cd和ls命令,很明显该文件实际上位于目录中:

(base) root@4dc5e5ce2f65:/# cd /opt/conda/lib/python3.6/site-packages/osl1

(base) root@4dc5e5ce2f65:/opt/conda/lib/python3.6/site-packages/osl1# ls
__init__.py  __pycache__  _osl1.so  installcomponents.py  onyx.so  onyxosiris.so  osl1.py  osl1helperfuncs.py

我觉得我在这里错过了一些重要的事情,但是我不知道是什么。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

问题出在LD_LIBRARY_PATH变量。我假设包含共享对象文件的文件夹将被添加到路径中,因为同一文件夹包含可执行文件。但是,这显然是错误的假设。将此文件夹的路径添加到docker容器内的LD_LIBRARY_PATH环境变量中具有预期的效果。最后,使用docker commit命令创建新映像会生成功能齐全的映像,可以将其有效地用作PyCharm项目中的远程解释器。