java - ejecutar - ¿Cómo puedo instalar varias bibliotecas de Python en Jython?
ejecutar python desde java (4)
Sé que puedo instalar Jython con Java y que puedo usar Jython donde uso Python. El shell Jython está funcionando bien.
En Jython, ¿cómo puedo instalar bibliotecas como lxml
, Scrappy
y BeautifulSoup
que normalmente instalaría a través de pip
o easy_install
A partir de v2.7b4, la distribución Jython incluye el módulo ensurepip , que simplifica la instalación de las herramientas pip y setup:
jython -m ensurepip
Tenga cuidado con el problema sys.platform==''win32'' que se interpondrá en su camino de usar paquetes PyPI que dependen de este método para determinar la plataforma del host.
Algunos módulos de Python, como lxml
, han requerido componentes en C. Estos no funcionarán en Jython.
La mayoría de los paquetes de Python funcionarán bien, y puede instalarlos usando las mismas herramientas que usa en CPython. Esto se jython.org/jythonbook/en/1.0/appendixA.html#setuptools :
Para obtener herramientas de configuración, descargue ez_setup.py de http://peak.telecommunity.com/dist/ez_setup.py . Luego, vaya al directorio donde dejó el archivo descargado y ejecute:
$ jython ez_setup.py
[La secuencia de comandos easy_install] se instalará en el directorio bin de la instalación de Jython (
/home/lsoto/jython2.5.0/bin
en el ejemplo anterior). Si trabaja frecuentemente con Jython, es una buena idea anteponer este directorio a la variable de entorno PATH, de modo que no tenga que escribir la ruta completa cada vez que desee usar easy_install u otras secuencias de comandos instaladas en este directorio.
Probando yo mismo, después de instalar setuptools en Jython, pip instalado correctamente:
$ sudo /usr/bin/jython2.5.2b1/bin/easy_install pip
Searching for pip
[...]
Installing pip-2.5 script to /usr/bin/jython2.5.2b1/bin
Installing pip script to /usr/bin/jython2.5.2b1/bin
Installed /usr/bin/jython2.5.2b1/Lib/site-packages/pip-1.0.2-py2.5.egg
Processing dependencies for pip
Finished processing dependencies for pip
$ sudo /usr/bin/jython2.5.2b1/bin/pip install bottle
Downloading/unpacking bottle
Downloading bottle-0.9.6.tar.gz (45Kb): 45Kb downloaded
Running setup.py egg_info for package bottle
Installing collected packages: bottle
Running setup.py install for bottle
Successfully installed bottle
Cleaning up...
$ jython
Jython 2.5.2b1 (Release_2_5_2beta1:7075, Jun 28 2010, 07:44:20)
[Java HotSpot(TM) 64-Bit Server VM (Apple Inc.)] on java1.6.0_26
Type "help", "copyright", "credits" or "license" for more information.
>>> import bottle
>>> bottle
<module ''bottle'' from ''/usr/bin/jython2.5.2b1/Lib/site-packages/bottle$py.class''>
>>>
Siendo Jython, aunque tiene el poder de las bibliotecas Java, no la limitación de no poder instalar algunas bibliotecas Python C.
Por ejemplo, sería mejor utilizar Jsoup lugar de Beautiful soup o buscar una solución completa como Jtidy .
Use Jaxp lugar de lxml.
También otra opción que se ajusta a sus necesidades es NekoHTML
Tengo ambos CPython y Jython instalados. Esto es lo que hago si quiero instalar un paquete en Jython a través de pip.
jython -m pip install <package_name>
Por ejemplo, para instalar el framework robótico en jython (ya que quiero escribir las bibliotecas de palabras clave en Java), lo hice
jython -m pip install robotframework