Подтвердить что ты не робот

Как установить различные библиотеки Python в Jython?

Я знаю, что я могу установить Jython с Java и что я могу использовать Jython, где я использую Python. Оболочка Jython работает нормально.

В Jython, как я могу установить библиотеки типа lxml, Scrappy и BeautifulSoup, которые я обычно устанавливал бы через pip или easy_install

4b9b3361

Ответ 1

Некоторые модули Python, такие как lxml, имеют требуемые компоненты в C. Они не будут работать в Jython.

Большинство пакетов Python будут работать нормально, и вы можете установить их, используя те же инструменты, что и в CPython. Это описанное в Приложении A книги Jython:

Чтобы получить setuptools, загрузите ez_setup.py из http://peak.telecommunity.com/dist/ez_setup.py. Затем перейдите к где вы оставили загруженный файл и выполнили:

$ jython ez_setup.py

[Easy_install script будет] установлен в каталог bin установка Jython (/home/lsoto/jython2.5.0/bin в примере выше). Если вы часто работаете с Jython, это хорошая идея добавьте этот каталог в переменную среды PATH, так что вы не должны вводить весь путь каждый раз, когда вы хотите использовать easy_install или другие скрипты, установленные в этом каталоге.

Проверяя его самостоятельно, после установки setuptools в Jython, 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'>
>>>

Ответ 2

В соответствии с v2.7b4 дистрибутив Jython включает модуль обеспечения, который упрощает установку pip и setuptools:

jython -m ensurepip

Остерегайтесь sys.platform == 'win32' issue которые помогут вам использовать пакеты PyPI, которые полагаются на этот метод для определения платформы хоста.

Ответ 3

Являюсь Jython, хотя у вас есть возможности библиотек Java, а не ограничение возможности установки нескольких библиотек C. python.

Например, вам лучше использовать Jsoup вместо Beautiful soup или пойти на полное решение, например Jtidy.

Используйте Jaxp вместо lxml.

Еще один вариант, который подходит для ваших запросов: NekoHTML

Ответ 4

У меня установлены как CPython, так и Jython. Вот что я делаю, если я хочу установить пакет в Jython через pip.

jython -m pip install <package_name>

Например, чтобы установить платформу robot в jython (так как я хочу писать библиотеки ключевых слов в Java), я сделал

jython -m pip install robotframework