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
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:37tstr 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:17tstr 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"
).