在 Ubuntu 上为 libtorrent 安装 Python3 绑定

Posted

技术标签:

【中文标题】在 Ubuntu 上为 libtorrent 安装 Python3 绑定【英文标题】:Installing the Python3 bindings for libtorrent on Ubuntu 【发布时间】:2017-11-18 03:34:17 【问题描述】:

我正在尝试为 Python3 安装 libtorrent。它是 C++ 库的包装器。但是,我似乎无法让它工作。

我试过了:

$ sudo apt-get install python-libtorrent

$ sudo apt-get install python3-libtorrent

$ sudo apt-get install libtorrent-rasterbar-dev

$ sudo apt-get install libtorrent-rasterbar-dev

PyPi page 没有下载链接,因此它似乎无法通过 pip 安装。有趣的是,它似乎在 Python2 中工作,但不幸的是,该项目的其余部分在 Python3 中。

【问题讨论】:

【参考方案1】:

在非 Windows 系统上:

setup.py 是通过运行./configure --enable-python-binding 生成的。

选择您要安装的 Python 版本

要构建 Python 绑定,请执行以下操作:

运行:

python setup.py build

以 root 身份运行:

python setup.py install

详细信息见:http://www.libtorrent.org/python_binding.html

【讨论】:

不幸的是,这对我不起作用。我仍然在 python3 中得到ModuleNotFoundError: No module named 'libtorrent',现在我在 python2 中得到ImportError: /usr/local/lib/python2.7/dist-packages/libtorrent.so: undefined symbol: _ZN10libtorrent20generate_fingerprintENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiii。我唯一能想到的是setup.py 是用python2.7 编写的,所以我不得不使用它而不是python3。也许这样做意味着它试图为 python2 而不是 3 安装它。

以上是关于在 Ubuntu 上为 libtorrent 安装 Python3 绑定的主要内容,如果未能解决你的问题,请参考以下文章

在 Ubuntu 上为 WebRTC 安装 TURN 服务器

在 ubuntu 上为代客安装 nginx

在 Ubuntu 上为 Ruby on Rails 安装 PostgreSQL

如何在 Ubuntu 18 上为 python 3.7 安装 pip?

在 Ubuntu 18.04 上为 python 安装 mysqlclient 时出错

如何在 Ubuntu 20.04 上为 Python 3.9 安装 pip