Форум сайта python.su
Привет.
Не могу понять, как правильно подключать модули.
Есть самописная библиотека на java
package com.odi.emaileport;
public class SendEmail{
...
public static void SendHTMLEmail(...)
...
}
import SendEmail as email email.SendHTMLEmail(...)
import com.odi.emaileport.SendEmail as email email.SendHTMLEmail(...)
Отредактировано orel_da (Фев. 11, 2022 08:26:03)
Офлайн
Сделай тестовый пакет и в нём тестовый класс на Java, скомилируй его в jar-файл и подключи в Jython. Если он подключится, значит ты умеешь подключать. Если он не подключится, то надо научиться подключать сначала. Когда будешь уметь подключать, тогда и займёшься sendmail'ом этим.
orel_daЕсли используешь sys.path.append(), значит что-то не то делаешь. Обычно этот список не используется никогда.
Программно подключаю все требуемые библиотеки (jar файлы) с помощью sys.path.append()
Офлайн
py.user.nextДа, вы знаете, другие библиотеки пробовала подключать, тоже не видит их Jython. И еще нашла ошибку. Имя email такая библиотека есть в Python. Jython видимо путает имена. Изменила превдоним, все равно та же ошибка. Последую вашему совету.
Сделай тестовый пакет и в нём тестовый класс на Java, скомилируй его в jar-файл и подключи в Jython. Если он подключится, значит ты умеешь подключать. Если он не подключится, то надо научиться подключать сначала. Когда будешь уметь подключать, тогда и займёшься sendmail'ом этим.
Отредактировано orel_da (Фев. 11, 2022 13:45:15)
Офлайн
orel_daЭто тут ни при чём.
Имя email такая библиотека есть в Python. Jython видимо путает имена.
>>> import math as email >>> email.pi 3.141592653589793 >>>
orel_daСнаружи надо что-то сделать правильно, тогда не понадобится никакие пути добавлять изнутри скрипта. Если не видит путей каких-то, значит снаружи это не сделано.
есть другой способ?
orel_daИспользуй официальную документацию. Использование sys.path - это костыль. А блоги, в которых костыли предлагают, надо игнорировать по возможности.
Действовала по инструкции из блога
Отредактировано py.user.next (Фев. 11, 2022 20:19:50)
Офлайн
py.user.nextда, нашла папку, в которую разработчик предлагает добавлять сторонние библиотеки. После перезапуска службы, библиотека подтянулась.
Офлайн