我如何在Jython中安装各种Python库?

我知道我可以用Java安装Jython,并且可以在使用Python的地方使用Jython。 Jythonshell工作正常。

在Jython中,我如何安装像lxmlScrappyBeautifulSoup这样的库,通常我会通过pipeasy_install

一些Python模块(如lxml )需要C中的组件。这些在Jython中不起作用。

大多数Python包都可以正常工作,并且可以使用与在CPython中使用的相同的工具来安装它们。 这在Jython Book的附录A中有描述 :

要获得setuptools,请从http://peak.telecommunity.com/dist/ez_setup.py下载ez_setup.py。; 然后,转到离开下载文件的目录并执行:

 $ jython ez_setup.py 

[easy_install脚本将安装到Jython安装的bin目录中(上/home/lsoto/jython2.5.0/bin中的/home/lsoto/jython2.5.0/bin )。 如果您经常使用Jython,则最好将此目录放置在PATH环境variables中,这样您不必在每次要使用easy_install或其他安装到此目录的脚本时都键入整个path。

在Jython中安装setuptools后,自己testing一下,pip是否正确安装:

 $ 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'> >>> 

从v2.7b4开始,Jython发行包含了ensurepip模块 ,它简化了pip和setuptools的安装:

 jython -m ensurepip 

注意sys.platform =='win32'的 问题 ,将会使用PyPI包依靠这种方法来确定主机平台。

作为Jython,尽pipe你拥有Java库的力量,但不能无法安装几个Python C库的限制。

例如,你会更好地使用Jsoup而不是美丽的汤或去像Jtidy一个完整的解决scheme。

使用Jaxp而不是lxml。

另外一个适合您需求的select是NekoHTML