es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué la librería libtorrent instalada muestra un error de importación?

He compilado libtorrent con boost utilizando los siguientes comandos en la carpeta raíz de boost:

bootstrap.bat
b2 --hash cxxstd=14 release

Después, agregué BOOST_ROOT y BOOST_BUILD_PATH a la variable PATH.

También he descargado OpenSSL y lo he compilado, luego lo he copiado en las carpetas “include” y “libs” del compilador Visual Studio 15 2017.

A continuación, en la carpeta raíz de libtorrent, he ejecutado estos comandos:

b2 variant=release link=shared
b2 install --prefix=build

La compilación fue exitosa y se creó la biblioteca de C++ de libtorrent.

Y después de eso, he ejecutado estos comandos:

py setup.py build
py setup.py install

Se ejecutaron sin errores y libtorrent se instaló en la carpeta libs/site-packages de mi python. Pero cuando lo importo, muestra este error:

Error de importación de Python
[enter image description here]

¿Qué pasos de compilación pude haber realizado incorrectamente?

Sistema operativo: Windows 10 x64

Python: 3.9.5 x64

Libtorrent: 2.0.5

Boost: 1.78.0

He seguido la documentación de libtorrent en los siguientes enlaces:
https://libtorrent.org/building.html
y
https://www.libtorrent.org/python_binding.html

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que el error de importación está relacionado con la falta de la biblioteca OpenSSL. Aunque hayas descargado e instalado OpenSSL, es posible que no esté enlazada correctamente con la biblioteca libtorrent durante el proceso de compilación.

    Para resolver este problema, puedes intentar reconstruir la biblioteca libtorrent con los caminos adecuados de enlace y de inclusión para OpenSSL.

    Primero, asegúrate de que la biblioteca OpenSSL esté correctamente instalada y que los archivos de encabezado estén disponibles en el camino de inclusión. Luego, actualiza el comando de compilación para libtorrent de la siguiente manera:

    b2 variant=release link=shared openssl=<ruta_al_directorio_de_instalación_de_openssl>
    b2 install --prefix=build
    

    Reemplaza <ruta_al_directorio_de_instalación_de_openssl> con la ruta real al directorio de instalación de OpenSSL en tu sistema.

    Después de reconstruir la biblioteca, reinstálala usando los siguientes comandos:

    py setup.py build
    py setup.py install
    

    Esto debería solucionar el error de importación y permitirte usar libtorrent en tu código Python.</ruta_al_directorio_de_instalación_de_openssl></ruta_al_directorio_de_instalación_de_openssl>

Comments are closed.