Я пытаюсь добавить libtorrent в свой Python. Моя проблема заключается в том, что, несмотря на то, что я испробовал множество, хотя и странных, обходных путей (подробнее об этом позже), чтобы заставить libtorrent работать с моим Python, я не могу импортировать модуль на всю жизнь.
Я пройду через то, что я пробовал. Я наткнулся на «решения», которые помогли мне частично, но не на всем пути. Я даже пытался следовать инструкциям самого создателя, предоставленным в Stack Overflow.
Давайте сделаем несколько шагов назад и посмотрим, что я пытался сделать. Мы начнем с наддува. Если вы не знали, для работы libtorrent требуется ускорение. Мои знания не велики, когда речь идет о повышении, поэтому я не буду объяснять это. Итак, как и во всех всех инструкциях, которым я следовал, говорилось, что требуется ускорение. Я быстро установил boost и добавил его путь в таблицу окружения. Впоследствии я запустил файл bat, предоставленный в boost, и он создал два файла (возможно, больше) B2.exe и BJAM . B2 — это то, что мне нужно было использовать для следующих шагов.
Я продолжил, перейдя в загруженную папку boost (версия 1.66) > инструменты > сборка > пример, а затем отредактировав файл user-config.jam, добавив следующие элементы:
с помощью msvc : 14.0 ;
с использованием gcc : : : -std=c++11 ;
с использованием python : 3.6 : C:\Users\XXXX\AppData\Local\Programs\Python\Python36-32 : C: \Users\XXXX\AppData\Local\Programs\Python\Python36-32\include: C:\Users\XXXX\AppData\Local\Programs\Python\Python36-32\libs;
Затем я открыл командную строку x64 Native tool для VS2017 с повышенными привилегиями и выполнил следующую команду
b2.exe --hash openssl-version=pre1.1 link=общий libtorrent-link=общий stage_module stage_dependencies
также предоставлено Арвидом (я полагаю, создателем) в папке libtorrent>bindings>python. Начался 5-минутный период загрузки. Это дало мне следующую информацию:
Performing configuration checks
- 32-bit : yes (cached)
- arm : no (cached)
- mips1 : no (cached)
- power : no (cached)
- sparc : no (cached)
- x86 : yes (cached)
- symlinks supported : yes (cached)
...patience...
...patience...
...patience...
...found 7252 targets...
...updating 27 targets...
заканчивая тем, что это
...updated 27 targets...
Инструкции в основном останавливаются на этом, поэтому вы можете подумать, что теперь он правильно настроен. Это не так. Я сразу же перешел в папку «bindings>python» и, конечно же, там существуют файлы libtorrent.pyd и libtorrent.lib. Выглядело многообещающе. Я загрузил командную строку, проверил Pip (список pip) и увидел в списке libtorrent. Ввел python и попытался импортировать libtorrent.
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 16:07:46) [MSC v.1900 32 bit
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import libtorrent
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed: The specified module could not be found.
Файл pyd существует, поэтому я попытался вручную перетащить его в папку DLL Python, но все равно не смог его импортировать. Я даже зашел так далеко, чтобы сделать руководство
sys.path.append('D:\Downloads\libtorrent-rasterbar-1.1.7\libtorrent-
rasterbar-1.1.7\bindings\python')
Это некоторые люди предложили сделать, потому что это может быть не связано.
Я в недоумении.
Я не могу его импортировать, но он явно существует не только в списке пипсов, но и в папке libtorrent > bindings > python (файлы pyd и lib).
Я также попытался запустить файл setup.py. Который делает то же самое, но не получает меня дальше.
Я сделал наблюдение: папка папки в папке libtorrent > Bindings > python > bin имеет странное имя: «d796976f6d11336977dac24301151009», содержащая папку src, libtorrent.exp, libtorrent.lib, libtorrent.pdb, libtorrent.pyd, libtorrent.pyd.manifest и libtorrent.pyd.rsp
Мне кажется, что установка или загрузка не были полностью завершены. Однако это может быть не так, это просто необразованное предположение. Кроме того, файл libtorrent.lib, найденный в папке libtorrent > bindings > python, и файл libtorrent.pyd имеют размер 2 КБ и 3000 КБ соответственно.
Может он испорчен? Я не правильно связал?
Я использую 32-битную версию Python 3.6.5 (также существует 64-битная версия, но по какой-то причине она вообще не работает с libtorrent). 64-битная система на базе Windows с установленной Windows 10. Буст 1.66.0. Пытаюсь скачать/установить/импортировать libtorrent-rasterbar-1.1.7