#python #swift
Вопрос:
У меня есть несколько простых пакетов, которые содержат некоторые функции ML, которые я хочу запустить с Python (на данный момент на macOS, но будет на Vapor/Ubuntu). Однако я получаю ошибки при попытке импортировать классы из модуля в пакете. Итак, с такой структурой каталогов , как Project_root/my_package/my_module.py
, где my_module
определяется класс с именем MyClass
, попытка импорта с:
let sys = Python.import("sys")
sys.path.append("/Users/me/Project_root")
let myClass = PythonKit.import("my_package.my_module.MyClass")
терпит неудачу с чем-то вроде: No module named 'my_package.my_module.MyClass'; 'my_package.my_module' is not a package
Что достаточно ясно; my_module
это не пакет, это модуль внутри my_package
… Так почему же он не распознает, что my_package
это пакет и my_module
модуль в этом пакете (который определяет MyClass)?
Кажется, что это должно быть просто, но я не уверен, что происходит. Я могу запустить этот код на Python, но я, очевидно, не понимаю, как это должно работать в PythonKit (я могу сделать `Python.import(«torch.nn»), поэтому я думал, что такой синтаксис будет работать для моих собственных модулей). Поэтому, я думаю, мне нужно лучше понять, как PythonKit справляется с импортом из иерархий пакетов.
Кроме того, если кто-нибудь знает какие-либо более подробные учебные пособия по PythonKit, это было бы очень полезно.