tutorial spider scraping example create crawler crawl python .net pypy python-embedding python-stackless

python - spider - ¿Es posible incrustar PyPy en una aplicación.NET?



scrapy python tutorial (2)

Me gustaría incrustar un intérprete de Python en mi aplicación .NET. Soy consciente de IronPython, por supuesto, pero estoy especialmente interesado en PyPy , debido a su soporte sin apilamiento y sus microthreads.

Sin embargo, aunque PyPy puede construirse contra el CLI, parece que solo le da un intérprete de Python independiente a la python.exe. No he podido encontrar ninguna documentación para crear algo que pueda incrustarse dentro de una aplicación de host .NET.

¿Hay alguna manera de usar PyPy (sin apilamiento) para ejecutar scripts de Python desde una aplicación .NET y permitir que esos scripts interactúen con los objetos CLR proporcionados por la aplicación host?


El backend CLI de PyPy no es tan maduro como el backend C y tampoco se integra tan bien con las bibliotecas .NET. Si bien PyPy normal compilado a C está listo para producción, no llamaría a la versión .NET lista para producción. También falta el JIT (aunque se ha realizado algún trabajo en esta área) y los microtituladores. A menos que alguien intervenga, IronPython parece ser la única opción viable a partir de ahora.


No, no hay. CPython tenía la capacidad de acceder a las bibliotecas .NET mediante el uso de Python para .NET (ver http://pythonnet.github.io/ ) mantenida en github, pero aparte de IronPython, nunca ha habido una manera de integrar realmente un intérprete de Python en un. Aplicación NET. Este fue uno de sus principales puntos de venta.

En una nota relacionada, IronPython (de forma predeterminada) tiene un tamaño de pila más pequeño que CPython cuando se trata de recursión. Es decir, debe pasar una opción de línea de comandos "-X: FullFrames" a ipy.exe para habilitar los cuadros de pila de CPython-esque. Sé que esto no es tan bueno como PyPy ... pero podría ayudar :)