pyqtdeploy: добавить внешние модули
Есть кто-то, кто имеет опыт работы с pyqtdeploy
а добавление внешних модулей? Я сейчас пользуюсь pyqtdeploy
(версия 1.2) вместе с PyQt 5.5.1
написать приложение, которое можно развернуть на устройстве Android. Без каких-либо внешних модулей, заморозка с pyqtdeploy
работает довольно хорошо Тем не менее, я не совсем уверен, как я могу добавить внешние модули (не чисто Python) в мое приложение.
В частности, я хочу добавить внешний модуль pycrypto
, Поэтому я скачал pycrypto
Исходный код, скомпилировал его с помощью набора инструментов Android (из Android NDK), и теперь у меня есть куча файлов *.py и *.so. Как я могу добавить их в свое приложение?
Первоначально я попытался добавить файлы *.py и *.so (т.е. в основном весь модуль pycrypto) на вкладку "Другие пакеты" в pyqtdeploy. Но теперь, когда я импортирую что-то pycrypto, связанное с моим приложением (from Crypto.Cipher import AES
) я получаю следующее сообщение об ошибке:
File: ":/Crypto/Cipher/_AES.py", line 20 in __bootstrap__
TypeError: 'NoneType' object is not callable
Файл _AES.py, в который выдается ошибка, выглядит следующим образом:
def __bootstrap__():
global __bootstrap__, __loader__, __file__
import sys, pkgutil, imp
__file__ = pkgutil.get_data(__name__,'_AES.cpython-34m.so')
__loader__ = None; del __bootstrap__, __loader__
imp.load_dynamic(__name__,__file__)
__bootstrap__()
Сначала я подумал, что имя файла *.so было неправильным, и поэтому я получил ошибку NoneType, поэтому я изменил имя файла в _AES.py на что-то другое, например "test.so". Удивительно, но теперь я получаю другое сообщение об ошибке, чем раньше:
File ":/pkgutil.py" line 629, in get_data
ImportError: qrcimporter: error opening file :/Crypto/Cipher/test.so
Итак, имя файла должно быть в порядке, верно? Но почему я получаю сообщение об ошибке NoneType? Что я делаю неправильно? Это правильный способ сделать это?
Любая помощь высоко ценится. Я почти уверен, что я всего в одном шаге от того, чтобы заставить эту штуку работать, но я не могу понять, что я делаю неправильно.
Спасибо!