系统:Ubuntu 18.04。Python 3.8 是我的全局安装,但我有多个本地安装的 Python 版本,包括 2.7、3.4、3.6、3.7、3.8 和 3.9。
我有一个正在使用 boost 依赖项的项目。当我尝试导入它时,它显示
ImportError: libboost_python36.so.1.67.0: cannot open shared object file: No such file or directory.
为了确认它不存在,我
locate libboost_python36
并且没有找到结果。但是,
locate libboost_python
确实调出了一个名为
libboost_python38.so.1.71.0
大概是因为我需要它在不同的 python 安装上用于不同的项目。
为了执行 boost 安装,我从他们的发行版中下载了正确的版本 ( boost_1_67_0.tar.gz ) 并解压。然后我执行了以下命令
cd boost_1_67_0
sudo ./bootstrap.sh --with-python=/home/myusername/.local/bin/python3.6m --with-python-version=python3.6
sudo ./b2 install
sudo ./bjam install
然而完成后我收到同样的错误,并且当我运行定位时仍然找不到名为 libboost_python36.so.1.67.0 的文件。
我做错了什么以至于我没有生成这样的共享对象文件?
谢谢
答案1
您可能正在发明轮子。
所有提到的软件都是已打包在 Ubuntu 存储库中。首先:
sudo apt-add-repository universe
sudo apt-get update
使用以下命令获取 Python 3.6 绑定
提升1.62:
sudo apt-get install libboost-python1.62-dev
提升1.65:
sudo apt-get install libboost-python1.65-dev
使用 Python 3.8 可能会在系统层面上产生问题。