【发布时间】: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