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

Posted

技术标签:

【中文标题】如何在 Jython 中安装各种 Python 库?【英文标题】:How can I install various Python libraries in Jython? 【发布时间】:2011-10-10 20:23:04 【问题描述】:

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

在 Jython 中,我如何安装 lxmlScrappyBeautifulSoup 之类的库,我通常会通过 pipeasy_install 安装这些库

【问题讨论】:

jython.org/jythonbook/en/1.0/appendixA.html#setuptools我应该没事的 【参考方案1】:

一些 Python 模块,例如 lxml,在 C 中具有必需的组件。这些在 Jython 中不起作用。

大多数 Python 包都可以正常工作,您可以使用在 CPython 中使用的相同工具来安装它们。这是described in Appendix A of Jython Book:

要获取 setuptools,请从以下位置下载 ez_setup.py http://peak.telecommunity.com/dist/ez_setup.py。然后,前往 下载文件所在的目录并执行:

$ jython ez_setup.py

[easy_install 脚本将]安装到 bin 目录下 Jython 安装(示例中为/home/lsoto/jython2.5.0/bin 更多)。如果您经常使用 Jython,最好 将此目录添加到 PATH 环境变量中,因此您不需要 每次要使用 easy_install 或 安装到此目录的其他脚本。

自己测试,在Jython中安装setuptools后,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'>
>>>

【讨论】:

谢谢 jeremy ,那行得通。如果我有 2 个站点运行正常 python django with mod_wsgi 和其他站点运行 jython django 在同一台服务器上,这很好吗?或者我需要单独的服务器 @user 我不使用 Django,所以我不能肯定地告诉你,但我认为你可能只使用一个服务器。 谢谢。如果我现在将 pip 与 jython 一起使用,还有一件事是 pippip with python 相同。我的意思是normal pip 提供的所有库都可以与jython pip 一起使用,或者它们有separate libraries 自 2.7.0 起,Jython 包括 pip。 如何调用pip?如果 jython 包含 pip,您如何实际使用 jython 中的 pip?【参考方案2】:

虽然您拥有 Java 库的强大功能,但作为 Jython,而不是无法安装一些 python C 库的限制。

例如,您最好使用 Jsoup 而不是 Beautiful soup 或使用像 Jtidy 这样的完整解决方案。

使用 Jaxp 代替 lxml。

另外一个适合您要求的选项是NekoHTML

【讨论】:

【参考方案3】:

从 v2.7b4 开始,Jython 发行版包括 the ensurepip module,它简化了 pip 和 setuptools 的安装:

jython -m ensurepip

当心sys.platform=='win32' issue 会妨碍您使用依赖此方法来确定主机平台的 PyPI 包。

【讨论】:

在 Jython 2.7.0 的最终版本中,Jython 安装程序默认运行 jython -m ensurepip 作为标准安装的最后一个安装步骤。也可以为大多数其他类型的安装选择它。或者安装后运行。【参考方案4】:

我同时安装了 CPython 和 Jython。如果我想通过 pip 在 Jython 中安装一个包,我会这样做。

jython -m pip install <package_name>

例如在jython中安装机器人框架(因为我想用Java编写关键字库),我做到了

jython -m pip install robotframework

【讨论】:

以上是关于如何在 Jython 中安装各种 Python 库?的主要内容,如果未能解决你的问题,请参考以下文章

JMeter中的模块ImportError

如何使用Homebrew中安装的python3版本而不是库中安装的版本?

如何使用脚本在 python 中安装特定版本的模块/库

如何在 Python 中安装 gcp?

dlib库,怎么在python中安装

VS Code中安装python、第三方库