Page 3 of 3

Lunatic Python

Posted: Tue 19 Jan, 2016 11:59
by Shmuel
Данный модуль позволяет вызывать питон из луа и луа из питона. С точки зрения Far это даёт возможность пользоваться из макросов многочисленными библиотеками питона.

Пример установки (пути в примере указаны для Python 3.7 x86 - скорректируйте соответственно если у вас Python 3.4/3.6 и/или x64):
  • Установить Python.
  • Скопировать src\out\python37\32bit\python.dll в %FARPROFILE%\Macros\lib32
  • Скопировать демо-макрос src\examples\py-hash.lua в %FARPROFILE%\Macros\scripts. В макрофайле есть таблица Config, где можно указать используемые вами битности.
Оригинальная библиотека и документация - здесь.
Используемый форк этой библиотеки - здесь.
lunatic-python-20190118.7z
(445.64 KiB) Downloaded 275 times

Lunatic Python

Posted: Sun 27 Aug, 2017 12:17
by tstr

Latest post of the previous page:

оказалось что директории поиска модулей портит pygin, буду в соотв. топике описывать.
и похоже что при наличии pygin lunatic получается после require "python" не полноценный - напим. в контексте питона отсутуствует модуль lua, который встроен в lunatic.

скрипт sparkup_lunatic подправил, там вообще постоянно не нужна папка со скриптом в sys.path - достаточно однократной загрузки в питоне модуля sparkup. обновил в соотв. теме.

Lunatic Python

Posted: Sun 27 Aug, 2017 12:42
by Shmuel
tstr wrote: Sun 27 Aug, 2017 12:17обновил в соотв. теме.
Нашёл с трудом, поиском по вашему нику.
На мой взгляд, имеет смысл сделать отдельную тему, и обновления постить в первом сообщении / шапке.

Lunatic Python

Posted: Sun 27 Aug, 2017 13:17
by Shmuel
tstr wrote: Sun 27 Aug, 2017 12:17обновил в соотв. теме.
Новая версия у меня не работает. Похоже на прежнюю ошибку.

Lunatic Python

Posted: Sun 27 Aug, 2017 20:37
by DrKnS
tstr wrote: Sun 27 Aug, 2017 12:17директории поиска модулей портит pygin
Не совсем понимаю, как один дополнительный путь там мог всё портить, но да, загружать через манипуляции с sys.path это не очень концептуально. Переделал.

Lunatic Python

Posted: Mon 28 Aug, 2017 06:32
by tstr
DrKnS wrote: Sun 27 Aug, 2017 20:37
tstr wrote: Sun 27 Aug, 2017 12:17директории поиска модулей портит pygin
Не совсем понимаю, как один дополнительный путь там мог всё портить, но да, загружать через манипуляции с sys.path это не очень концептуально. Переделал.
вижу что из sys.path пропал Adapters, но ошибка загрузки модулей питона осталась - сообщение о ошибке при вызове py-hash.lua тоже, File Monitor показывает обращение к темже …\<string> .

откорректировал сообщение с ошибкой исключив неактуальную часть, перепостил в теме pygin.

Lunatic Python

Posted: Mon 28 Aug, 2017 06:39
by tstr
Shmuel wrote: Sun 27 Aug, 2017 13:17
tstr wrote: Sun 27 Aug, 2017 12:17обновил в соотв. теме.
Новая версия у меня не работает. Похоже на прежнюю ошибку.
да, ошибка тамже осталась, дооптимизировался…
но у меня она не проявляется, и всякие принты и выводы в файл sys.path в т.ч. с чисто юникодными символами дают правильное содержание c правильными разделителями директорий. чтобы не наступать больше на эти грабли хочется разобраться, не могли бы привести полный путь, где у Вас расположен sparkup_lunatic.lua ?

Lunatic Python

Posted: Mon 28 Aug, 2017 07:43
by Shmuel
tstr wrote: Mon 28 Aug, 2017 06:39хочется разобраться, не могли бы привести полный путь, где у Вас расположен sparkup_lunatic.lua ?
Путь начинается с C:\Users, и этого достаточно для ошибки. Обратные слеши надо либо удваивать, либо заменять прямыми слешами. Ошибка легко воспроизводится с командной строки Питона:
Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.path.append('C:\Users') File "<stdin>", line 1 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape >>> sys.path.append('C:\\Users') >>>

Lunatic Python

Posted: Mon 28 Aug, 2017 08:01
by tstr
пытается юникод разобрать, как и ожидалось.
выводил в файл и пробовал воспроизвести с исправленной строкой, с ":gsub("\\", "/")", все выходные страшно тупил ). вопрос закрыт, спасибо, извините за потраченное время.

Lunatic Python

Posted: Mon 28 Aug, 2017 21:52
by Shmuel
tstr wrote: Mon 28 Aug, 2017 08:01извините за потраченное время
Наоборот, время было потрачено с пользой. Если будете продолжать играться с библиотекой (и делиться впечатлениями), буду только рад.

Lunatic Python

Posted: Fri 18 Jan, 2019 16:12
by Shmuel
Начальный пост темы обновлён (вложение тоже) - добавлена поддержка для Python 3.7.

Lunatic Python

Posted: Wed 05 May, 2021 13:00
by Tim Sobolev
А можно получить ссылочку на рабочий вариант для Python 3.8 (x64) ?

Lunatic Python

Posted: Wed 05 May, 2021 13:43
by Shmuel
У меня на машине всё ещё Python 3.7.
Если вы готовы собрать для 3.8 сами - добавьте в include и libs\64bit подпапки python38 и наполните их файлами из вашей установки питона, взяв за образец существующие папки python37. Далее скорректируйте src\makefile под свою систему.
Для сборки нужен Visual Studio (только командная строка), у меня стоит 2019. Также используется mingw32-make.exe для запуска src\makefile.

Сожалею, что нет готовой сборки. Если возьмётесь собирать сами, помогу в случае чего.

Lunatic Python

Posted: Sat 09 Dec, 2023 20:30
by Shmuel
Может быть кому-нибудь пригодится - собрал DLL для работы с Python 3.12 (только x64).
У меня работает (только пришлось в скриптах исправить на require "312-python").
312-python.dll.7z
(71.2 KiB) Downloaded 37 times