2014-06-06 2 views
2

У меня установлен Python 3.4 (32-разрядный), и я установил поверх него python-libtorrent-0.16.16.win32.msi.Связаны ли привязки python для libtorrent-rasterbar с Python 3?

Мой тестовый код говорит: ImportError: Ошибка загрузки DLL:% 1 не является допустимым приложением Win32.

Результаты моего поиска показывают, что это отлично работает с Python 2.7. Это решение? Мне нужно понизить свой Python?

+1

Там действительно существует [Пакет] (https://packages.debian.org/jessie/python3-libtorrent) и [запрос тянуть] а (https://packages.debian.org/jessie/ python3-libtorrent), которые делают то, что вы хотите, поэтому теоретически это должно быть возможно. Обратите внимание, однако, что это не обязательно означает, что в Windows это будет легко. Тем не менее, для Pythons 2 и 3 легко сосуществовать - это не понижение, так как вы должны установить как Python 2, так и Python 3 рядом друг с другом. – ikdc

+1

двоичные файлы создаются на основе python 2.7. Если вы построите его самостоятельно, вы, скорее всего, получите его для работы на python 3 – Arvid

+0

Несмотря на ответ ниже, привязки из пакета Debian 'python3-libtorrent' теперь работают нормально. Попробуйте. – amoe

ответ

2

NO. Libtorrent не поддерживает Python 3.

Он компилируется, но не работает из-за разницы в обработке Python 3 utf8. Был неудачную усилия, чтобы заставить его работать некоторое время назад https://code.google.com/p/libtorrent/issues/detail?id=449

Текущий ствол даже содержит недопустимые Python 3 т.е. http://sourceforge.net/p/libtorrent/code/HEAD/tree/trunk/bindings/python/setup.py линия 70> «печать» CmdLine

По какой-то причине есть python3- Ubuntu 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" 
+3

_ По некоторым причинам существует пакет Ubuntu python3-libtorrent, который смущает людей, но он определенно не работает, ни делает ручную сборку. Как хороший, типичный open source. –

+5

Я использовал libtorrent с Python 3, поэтому вам, вероятно, следует обновить свой ответ, чтобы отразить текущее состояние в случае, если люди сталкиваются с ним. Проблемы были исправлены. – SwarmIntelligence

Смежные вопросы