我如何在Jython中安装各种Python库?
我知道我可以用Java安装Jython,并且可以在使用Python的地方使用Jython。 Jythonshell工作正常。
在Jython中,我如何安装像lxml
, Scrappy
和BeautifulSoup
这样的库,通常我会通过pip
或easy_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