如何解决 Xcode kivy-ios 中的 'dynamic module does not define module export function' 错误?

How to solve 'dynamic module does not define module export function' error in Xcode kivy-ios?

我正在尝试在 iOS 中打包一个 python 应用程序。该应用程序非常简单,只有 1 行:

from firebase import firebase

我遵循这个 link 的说明:

https://github.com/kivy/kivy-ios

Firebase 需要 pycrypto。所以我输入

./toolchain.py build pycrypto

它失败了...所以我复制并粘贴了 3 个文件夹:Crypto、cryptography、cryptography-2.7.dist-info 从文件夹 /usr/local/lib/python3.7/site-packages 到构建Desktop/kivy-ios 下的文件夹。然后我输入:

./toolchain.py build pycrypto

它仍然失败了......所以我没有使用:

./toolchain.py pip install pycrypto

成功了!我进入 Xcode 并尝试将其推送到虚拟 iPhone XR。我收到以下错误,我不知道如何解决。请帮帮我!任何事情都将不胜感激。

2019-09-13 01:24:40.859097-0400 kindact[56329:305598] [framework] CUIThemeStore: No theme registered with id=0
2019-09-13 01:24:41.060178-0400 kindact[56329:305598] Available orientation: KIVY_ORIENTATION=LandscapeLeft LandscapeRight Portrait PortraitUpsideDown
2019-09-13 01:24:41.060467-0400 kindact[56329:305598] Initializing python
/Users/hiencao/Library/Developer/CoreSimulator/Devices/9E046BFB-CB75-4394-BBBB-CD52178F0DEA/data/Containers/Bundle/Application/C9C66E4B-7DBA-409C-88FA-F0917B4D6681/kindact.app/kindact:1: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
2019-09-13 01:24:41.255757-0400 kindact[56329:305598] Running main.py: /Users/hiencao/Library/Developer/CoreSimulator/Devices/9E046BFB-CB75-4394-BBBB-CD52178F0DEA/data/Containers/Bundle/Application/C9C66E4B-7DBA-409C-88FA-F0917B4D6681/kindact.app/YourApp/main.pyc
Traceback (most recent call last):
  File "<string>", line 39, in load_module
  File "/Users/hiencao/Desktop/2/kivy-ios/dist/root/python3/lib/python3.7/imp.py", line 342, in load_dynamic
    return _load(spec)
  File "<frozen importlib._bootstrap>", line 696, in _load
  File "<frozen importlib._bootstrap>", line 670, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 583, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 1043, in create_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: dynamic module does not define module export function (PyInit_cryptography_hazmat_bindings__constant_time)
Traceback (most recent call last):
  File "<string>", line 39, in load_module
  File "/Users/hiencao/Desktop/2/kivy-ios/dist/root/python3/lib/python3.7/imp.py", line 342, in load_dynamic
  File "<frozen importlib._bootstrap>", line 696, in _load
  File "<frozen importlib._bootstrap>", line 670, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 583, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 1043, in create_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: dynamic module does not define module export function (PyInit_cryptography_hazmat_bindings__constant_time)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/hiencao/Desktop/2/kivy-ios/kindact-ios/YourApp/main.py", line 1, in <module>
  File "/Users/hiencao/Library/Developer/CoreSimulator/Devices/9E046BFB-CB75-4394-BBBB-CD52178F0DEA/data/Containers/Bundle/Application/C9C66E4B-7DBA-409C-88FA-F0917B4D6681/kindact.app/lib/python3.7/site-packages/firebase/__init__.py", line 14, in <module>
    import python_jwt as jwt
  File "/Users/hiencao/Library/Developer/CoreSimulator/Devices/9E046BFB-CB75-4394-BBBB-CD52178F0DEA/data/Containers/Bundle/Application/C9C66E4B-7DBA-409C-88FA-F0917B4D6681/kindact.app/lib/python3.7/site-packages/python_jwt/__init__.py", line 8, in <module>
    from jwcrypto.jws import JWS, JWSHeaderRegistry
  File "/Users/hiencao/Library/Developer/CoreSimulator/Devices/9E046BFB-CB75-4394-BBBB-CD52178F0DEA/data/Containers/Bundle/Application/C9C66E4B-7DBA-409C-88FA-F0917B4D6681/kindact.app/lib/python3.7/site-packages/jwcrypto/jws.py", line 8, in <module>
    from jwcrypto.jwa import JWA
  File "/Users/hiencao/Library/Developer/CoreSimulator/Devices/9E046BFB-CB75-4394-BBBB-CD52178F0DEA/data/Containers/Bundle/Application/C9C66E4B-7DBA-409C-88FA-F0917B4D6681/kindact.app/lib/python3.7/site-packages/jwcrypto/jwa.py", line 10, in <module>
    from cryptography.hazmat.primitives import constant_time, hashes, hmac
  File "/Users/hiencao/Library/Developer/CoreSimulator/Devices/9E046BFB-CB75-4394-BBBB-CD52178F0DEA/data/Containers/Bundle/Application/C9C66E4B-7DBA-409C-88FA-F0917B4D6681/kindact.app/lib/python3.7/site-packages/cryptography/hazmat/primitives/constant_time.py", line 11, in <module>
    from cryptography.hazmat.bindings._constant_time import lib
  File "<string>", line 43, in load_module
  File "/Users/hiencao/Desktop/2/kivy-ios/dist/root/python3/lib/python3.7/imp.py", line 342, in load_dynamic
ImportError: dynamic module does not define module export function (PyInit__constant_time)
2019-09-13 01:24:42.146234-0400 kindact[56329:305598] Application quit abnormally!
2019-09-13 01:24:42.165161-0400 kindact[56329:305598] Leaving

用 Requests 和 json 模块替换 Firebase 模块。