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? Что я делаю неправильно? Это правильный способ сделать это?

Любая помощь высоко ценится. Я почти уверен, что я всего в одном шаге от того, чтобы заставить эту штуку работать, но я не могу понять, что я делаю неправильно.

Спасибо!

0 ответов

Другие вопросы по тегам