使 cx_Freeze main.py 永久能够使用 numpy 模块

Posted

技术标签:

【中文标题】使 cx_Freeze main.py 永久能够使用 numpy 模块【英文标题】:Make cx_Freeze main.py permanently being able to use numpy module 【发布时间】:2018-07-20 14:31:44 【问题描述】:

我定期使用位于 Python36/Scripts 文件夹中的 cx_Freeze 脚本将 python 文件转换为可执行文件,它工作正常。然而,它似乎仍然无法转换 numpy,所以我试图通过在 main.py 中添加一个选项来使其工作,该选项由上述 cx_Freeze 脚本使用。此 main.py 位于 site-packages/cx_Freeze 文件夹中。

Thomas K. 在这里提供了一个解决方案:Creating cx_Freeze exe with Numpy for Python

通过将此行添加到选项中:

options = "build_exe": "packages": ["numpy.lib.format"]

是否可以将此行添加到选项部分的 main.py 中?如果是这样,我该怎么做?

非常感谢您的帮助。

【问题讨论】:

【参考方案1】:

如果我正确理解您喜欢做什么,您可以尝试将以下两行添加到文件 site-packages/cx_Freeze/freezer.py

@@ -127,6 +127,8 @@ class Freezer(object):
         self.includes = list(includes)
         self.excludes = list(excludes)
         self.packages = list(packages)
+        if 'numpy.lib.format' not in self.packages:
+            self.packages.append('numpy.lib.format')
         self.namespacePackages = list(namespacePackages)
         self.replacePaths = list(replacePaths)
         self.compress = compress

【讨论】:

以上是关于使 cx_Freeze main.py 永久能够使用 numpy 模块的主要内容,如果未能解决你的问题,请参考以下文章

cx_freeze 使 selenium 无法在 python 中截屏

cx_freeze QtWebKit 导入错误

如何使函数永久更改全局数组

使 Kafka 主题日志保留永久化

cx_freeze 找不到 python 3 路径 mac

怎么使图片在tomcat中永久存储