Articles of boost python

CMAKE 3.9.3 no puede encontrar Boost1.65.1 Boost_Python

Es un poco muy desalentador ahora. He intentado todo lo que pueda imaginar, en vano. Estoy usando ElementaryOS Loki, basado en Ubuntu 16.04 LTS. Tengo el boost 1.65.1 instalado en /usr/local Estoy usando cmake 3.9.3 que es compatible con el edificio boost 1.65.0 y adelante. He intentado todas las formas posibles de CMakeLists.txt con mi […]

La clase C ++ no es reconocida por Python 3 como un módulo a través de Boost.Python Embedding

El siguiente ejemplo de Boost.Python v1.56 muestra cómo incrustar el intérprete de Python 3.4.2 en su propia aplicación. Desafortunadamente, ese ejemplo no funciona de inmediato en mi configuración con MSVC2013 en Windows 8.1. Y no he encontrado 1 ejemplo completo de trabajo sobre incrustación, al menos ninguno que tenga menos de 10 años. Recibo el […]

Construyendo una aplicación Boost.Python en MacOS 10.9 (Mavericks)

Me actualicé a Mavericks y ahora no puedo comstackr mi aplicación después de muchos problemas. Durante el enlace, recibo los errores. Undefined symbols for architecture x86_64: “boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair const&) . . . “boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair (*)(void*))” Estoy usando g ++ de macports, específicamente g ++ – mp-4.4. Clang no es una opción para mi proyecto, […]

boost :: python: expone una clase de C ++ a un script de python incrustado en una aplicación de C ++

Puedo cargar con éxito un archivo de script de Python y llamar a una función usando boost::python en una aplicación de C ++. En el wiki de Incremento de Python Incrustar Python hay una sugerencia sobre cómo cargar un módulo de python . namespace bp = boost::python; bp::object import(const std::string& module, const std::string& path, bp::object& […]

boost.python: los tipos de argumentos no coinciden con la firma de C ++

Estoy teniendo un problema extraño al llamar a una función de C ++ en python. Expuse una clase de la que quiero llamar a una función: class_<MyClass, std::shared_ptr>(“MyClass”, init()) // … .def(“someFunc”, &MyClass::someFunc) ; Obtengo un std::shared_ptr de una variable miembro de otra clase que se expone a través de .def_readonly(…) Cuando bash llamar a […]

Pura función virtual llamada

Estoy usando boost.python para hacer módulos de python escritos en c ++. Tengo alguna clase base con funciones virtuales puras que he exportado así: class Base { virtual int getPosition() = 0; }; boost::python::class_(“Base”) .def(“GetPosition”, boost::python::pure_virtual(&Base::getPosition)); En Python tengo código: class Test(Base): def GetPosition(self): return 404 Test obj obj.GetPosition() RuntimeError: función virtual pura llamada Que […]

¿Por qué PyGILState_Release lanza errores fatales de Python?

CONTESTADO Ok, he resuelto este problema. Todo está en cómo se inicializa el estado del hilo. No es necesario utilizar ReleaseLock en absoluto. Simplemente agregue la llamada InitThreads a la definición de su módulo: BOOST_PYTHON_MODULE(ModuleName) { PyEval_InitThreads(); … } Ok, he intentado diagnosticar este problema durante horas y he analizado lo que parece ser cada […]

¿Los scripts de CPython, IronPython, Jython son compatibles entre sí?

Estoy bastante seguro de que los scripts de Python funcionarán en los tres, pero quiero asegurarme. He leído aquí y allá sobre editores que pueden escribir CPython, Jython, IronPython y espero que me esté interesando mucho en la distinción. Mi situación es que tengo 3 API diferentes que quiero probar. Cada api realiza el mismo […]

Python, Threads, GIL y C ++

¿Hay alguna manera de hacer que boost :: python controle Python GIL para cada interacción con python? Estoy escribiendo un proyecto con boost :: python. Estoy intentando escribir un contenedor de C ++ para una biblioteca externa y controlar la biblioteca de C ++ con scripts de Python. No puedo cambiar la biblioteca externa, solo […]

Cómo importar una función desde el archivo python por Boost.Python

Soy totalmente nuevo para boost.python. Revisé muchas recomendaciones sobre el uso de boost.python para aplicar con python, sin embargo, todavía no es fácil de entender y encontrar una solución para mí. Lo que quiero es importar una función o clase que directamente desde un “SourceFile” de python Archivo de ejemplo: Main.cpp MyPythonClass.py Digamos que si […]