【问题标题】:Deploying a pre-built embedded Python environment on Windows在 Windows 上部署预构建的嵌入式 Python 环境
【发布时间】:2021-04-20 18:16:42
【问题描述】:

我正在考虑设置一个完全独立的 Python 环境,该环境将由我的 .NET 应用程序安装程序携带(或下载)。这个 Python 环境将通过 pythonnet 用于从 .NET 应用程序上下文执行 Python 代码。要求是这应该适用于所有 Windows 10 最终用户,无论他们是否在本地安装了 Python 或任何 VS 构建工具。

我目前的工作: 与 Python.Included 项目类似,我有一个最小的嵌入式 python 环境,它已经有一个脚本来设置 pip 和 tcl 库。如果此 python 环境尚未部署到用户的 AppData 文件夹中,它将运行一堆 pip install 命令来获取一些依赖项(pythonnet、numpy、scipy、pandas)。

问题: 上面的设置适用于上面列出的包,但在尝试安装不同的 pip 包时开始失败,该包在安装过程中也会生成.exe(包为pyprophet)。在我的开发机器上,这个安装是成功的,但是对于一些用户来说,这部分会失败并且最终的.exe没有生成。

我的想法是某些系统缺少一些构建工具,因此最终的 .exe 生成失败。我正在寻找有关如何确保此 .exe 可供所有用户使用的建议。一个想法是在我这边设置所有内容(包括所有 pip 命令),然后让用户的机器下载它并将其放入 AppData,但它非常大(~1GB)。另外,我还不确定最终的 .exe 是否可以像这样预先打包。我肯定更喜欢一个解决方案,其中初始 python 环境像现在一样最小,然后在需要某些模块时让它按需安装自己的 pip。

【问题讨论】:

    标签: python .net pip python.net python-embedding


    【解决方案1】:

    不幸的是,到目前为止,我能想到的唯一方法是用最少的清理来打包整个环境。

    请查看我的PackagedTensorflow 项目以获取packing script example using conda。你是对的,不能保证它会起作用,但至少到目前为止我还没有看到任何关于 TensorFlow 的问题。

    压缩包只有170MB左右,但在安装过程中扩展至近1GB,其中大部分是TensorFlow二进制文件。

    【讨论】:

      猜你喜欢
      • 2012-06-30
      • 1970-01-01
      • 2014-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-08
      相关资源
      最近更新 更多