我安装了Python3.4(32位),并在上面安装了python-libtorrent-0.16.16.win32.msi。
我的测试代码显示: ImportError: DLL加载失败:%1不是有效的Win32应用程序。
我的谷歌搜索结果表明,这在Python2.7上运行得很好。这就是解决方案吗?我必须降级我的Python吗?
发布于 2014-07-05 01:50:01
不是的。Libtorrent不支持Python 3。
它可以编译,但由于Python3 utf8处理方式的不同而无法工作。有一个失败的努力,使其工作一段时间以前https://code.google.com/p/libtorrent/issues/detail?id=449
当前的主干甚至包含无效的Python3,即http://sourceforge.net/p/libtorrent/code/HEAD/tree/trunk/bindings/python/setup.py第70行> 'print cmdline‘
由于某些原因,有一个Ubuntu python3-libtorrent包让人感到困惑,但它肯定不能工作,手动编译也不行。
steps:
apt-get build-dep libtorrent-rasterbar
export 'PYTHON_VERSION=3.4'; export 'PYTHON=/usr/bin/python3.34'
./configure LDFLAGS="-L/usr/lib/python3.4/config-3.4m-x86_64-linux-gnu/" --enable-python-binding --enable-geoip=no
--with-boost-python=boost_python-py34
ldconfig
>> python
import libtorrent
ses = libtorrent.session()
ses.save_state()
"UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa2 in position 0: invalid start byte"发布于 2020-03-18 18:39:58
它确实支持python3
此docker文件适用于我(库所在的libtorrent本地目录已签出到所需版本)
FROM debian:buster-slim
WORKDIR /app/libtorrent
COPY debian/backports.list /etc/apt/sources.list.d/
RUN apt-get update
RUN apt-get install -y -t buster-backports checkinstall
RUN apt-get install -y build-essential libboost-system-dev libboost-python-dev libboost-chrono-dev libboost-random-dev libssl-dev
RUN apt-get install -y autoconf automake libtool
ADD libtorrent /app/libtorrent
RUN ./autotool.sh
# RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1
ENV PYTHON=/usr/bin/python3.7
RUN ./configure --enable-python-binding --with-libiconv
RUN make
RUN checkinstall
RUN ldconfighttps://stackoverflow.com/questions/24073609
复制相似问题