wake-up-neo.net

Wie kann ich verschiedene Python-Bibliotheken in Jython installieren?

Ich weiß, dass ich Jython mit Java installieren kann und Jython dort verwenden kann, wo ich Python verwende. Die Jython-Shell funktioniert gut.

Wie kann ich in Jython Bibliotheken wie lxml, Scrappy und BeautifulSoup installieren, die ich normalerweise über pip oder easy_install installieren würde?

45
Mirage

Einige Python-Module, wie zum Beispiel lxml, haben Komponenten in C erforderlich. Diese funktionieren in Jython nicht.

Die meisten Python-Pakete funktionieren gut und können mit den gleichen Tools installiert werden, die Sie auch in CPython verwenden. Dies ist beschrieben in Anhang A des Jython-Buches :

Laden Sie ez_setup.py von .__ herunter, um Setuptools zu erhalten. http://peak.telecommunity.com/dist/ez_setup.py . Gehen Sie dann zum Verzeichnis, in dem Sie die heruntergeladene Datei verlassen haben, und führen Sie Folgendes aus:

$ jython ez_setup.py

Das easy_install-Skript wird im bin-Verzeichnis von .__ installiert. die Jython-Installation (/home/lsoto/jython2.5.0/bin im obigen Beispiel ). Wenn Sie häufig mit Jython arbeiten, ist es eine gute Idee, Stellen Sie dieses Verzeichnis der Umgebungsvariable PATH voran, damit Sie nicht Sie müssen den gesamten Pfad jedes Mal eingeben, wenn Sie easy_install oder .__ verwenden möchten. andere in diesem Verzeichnis installierte Skripts.

Selbst testen, nach der Installation von setuptools in Jython, pip korrekt installiert:

$ 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'>
>>>
36
Jeremy Banks

Ab v2.7b4 enthält die Jython-Distribution das Modul configurepip , das die Installation von Pip und Setuptools vereinfacht:

jython -m ensurepip

Vorsicht vor sys.platform == 'win32'issue das wird Ihnen im Weg stehen, PyPI-Pakete zu verwenden, die auf dieser Methode basieren, um die Host-Plattform zu bestimmen.

10
Each

Obwohl Sie Jython sind, verfügen Sie über die Möglichkeiten der Java-Bibliotheken und nicht die Einschränkung, einige Python-C-Bibliotheken nicht installieren zu können.

Beispielsweise wäre es besser, Jsoup anstelle von Beautiful soup zu verwenden oder eine vollständige Lösung wie Jtidy zu wählen.

Verwenden Sie Jaxp anstelle von lxml.

Eine weitere Option, die zu Ihren Anforderungen passt, ist NekoHTML

7
sayth

Ich habe sowohl CPython als auch Jython installiert. Wenn ich ein Paket in Jython über pip installieren möchte, mache ich Folgendes. 

jython -m pip install <package_name>

Zum Beispiel, um das Roboter-Framework in Jython zu installieren (da ich die Schlüsselwortbibliotheken in Java schreiben möchte), habe ich es getan

jython -m pip install robotframework
0
Moses