【问题标题】:extension module cannot be loaded from memory but memory loading required扩展模块无法从内存中加载,但需要内存加载
【发布时间】:2021-10-29 14:38:52
【问题描述】:

我想使用pyoxidizer 打包我的应用程序。我需要将PySide2 添加到我的包中。

policy.resources_location = "in-memory"
policy.resources_location_fallback =  "filesystem-relative:relative"
     
for resource in exe.pip_install(["pyside2"]):
    exe.add_python_resource(resource)

如果我删除 policy.resources_location_fallback = "filesystem-relative:relative" 行,我会得到:

error[PYOXIDIZER_PYTHON_EXECUTABLE]: adding PythonExtensionModule<name=PySide2.Qt3DAnimation>

Caused by:
    extension module PySide2.Qt3DAnimation cannot be loaded from memory but memory loading required
   --> ./pyoxidizer.bzl:258:9
    |
258 |         exe.add_python_resource(resource)
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ add_python_resource


error: adding PythonExtensionModule<name=PySide2.Qt3DAnimation>

Caused by:
    extension module PySide2.Qt3DAnimation cannot be loaded from memory but memory loading required

如果定义了回退,我会收到错误:


Caused by:
    resource collector does not allow resources in filesystem-relative
   --> ./pyoxidizer.bzl:258:9
    |
258 |         exe.add_python_resource(resource)
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ add_python_resource


error: adding PythonExtensionModule<name=PySide2.Qt3DAnimation>

Caused by:
    resource collector does not allow resources in filesystem-relative

这也适用于其他软件包,例如 Pillow。我没有找到任何可以解决此问题的方法,并且我不确定此错误消息的含义。

系统信息

  • Mac OS Big Sur,版本。 11.5.1
  • Python 3.9.7
  • PySide2,版本 5.15.2

【问题讨论】:

    标签: python executable pyoxidizer


    【解决方案1】:

    我通过使用解决了类似的问题

    exe.add_python_resources(exe.pip_install(["pyzmq"]))
    

    但由于缺少库,它最终还是无法工作,请参阅indygreg/PyOxidizer/issues/339

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-18
      • 2016-10-03
      • 1970-01-01
      • 2020-06-06
      • 2017-01-01
      • 2013-07-09
      • 2019-04-25
      相关资源
      最近更新 更多