当我尝试运行我的 python 项目时,在某些情况下我会收到此错误:
File "/usr/local/bin/AAA/camera_service/camera_service_main.py", line 6, in <module>
from views.hires_camera_handler_view import hires_camera_handler_blueprint
File "/usr/local/bin/AAA/camera_service/views/hires_camera_handler_view.py", line 7, in <module>
from hires_camera_handler.hires_camera_handler import HiResCameraHandler
File "/usr/local/bin/AAA/camera_service/hires_camera_handler/hires_camera_handler.py", line 3, in <module>
from ids_peak import ids_peak
File "/home/izx/anaconda3/envs/py38/lib/python3.8/site-packages/ids_peak/ids_peak.py", line 18, in <module>
from . import _ids_peak_python_interface
ImportError: libpython3.8.so.1.0: cannot open shared object file: No such file or directory
目标文件存在于 ~/anaconda3/envs/py38/lib
我可以通过添加使代码在我的终端中运行 导出 LD_LIBRARY_PATH=~/anaconda3/envs/py38/lib
但是,这里似乎存在更深层次的问题,因为我的更多项目的行为与其他 ubuntu 安装不同。我当然可以重新安装ubuntu。但我想了解我在这里做错了什么。
此外,上述解决方案并不能解决问题。我仍然无法在 PyCharm 中运行我的测试,这将非常有益。也许我可以在我的 pycharm 运行中以某种方式设置这个值,但是,设置路径变量不起作用,我不知道该怎么做。
我尝试过各种解决方案。安装 libpython3.8(已安装),安装 libpython3.8-dev(在 ubuntu 22.04 jammy 上不可用)。我还向 bashrc 添加了该值,但正如预期的那样,这并不能解决 PyCharm 的问题。
谁能向我解释一下这里的问题是什么?为什么我的 conda 环境找不到自己的 lib 文件夹?为什么将路径添加到 LD_LIBRARY_PATH 有效?我的 conda 环境在拥有自己的文件时需要共享文件,这对我来说没有意义。 conda 查找共享文件的默认位置是什么?当我在很多系统上多次安装anaconda时,怎么会突然发生这种情况?我知道这些问题很多,但我希望他们能给我理解这个问题所需的答案,而不是盲目地关注其他 SO 帖子。
谢谢
最佳答案
如果你的系统是Ubuntu,你可以像我一样找到这个文件并将其复制到/lib/
或/lib64/
查找/-name libpython3.8.so.1.0
sudo cp/home/zhou/anaconda3/envs/paddlep/lib/libpython3.8.so.1.0/usr/lib/
或
sudo cp/home/zhou/anaconda3/envs/paddlep/lib/libpython3.8.so.1.0/usr/lib64/
关于python - ImportError : libpython3. 8.so.1.0:无法打开共享对象文件:没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73582092/