我正在尝试编译python程序,我正在使用python 3.2。 所以我下载了 cx_freeze 并安装了它。当我尝试在cmd中运行 setup.py 时,它会说:
"importerror: no module named cx_freeze"
我已移除 cx_freeze 并尝试重新安装,但这次,在“选择应安装cx_freeze的位置”安装的一部分我从注册表中选择了python(这是我之前所做的),并从另一个位置选择“python”(并选择我的C:\ python32 \目录)。然后我收到了这个错误:
"There is a problum with this windows installation package. a program required for this install to complete could not be run."
注意:在我的 setup.py 文件中包含以下内容:
from cx_freeze import *
Setup(
name = "",
version ="0.1",
description ="",
executables = [Executable("")] ,
)
答案 0 :(得分:16)
终于找到了解决这个问题的方法!尝试了两天,程序员朋友帮我(我自己不是程序员)。
因此,当您向cmd键入“python setup.py build”时,它尝试做的是在您所在的文件夹中查找python.exe,如果找不到它,则查看系统路径(您可以使用命令“echo%PATH%”访问它。)
所以它看起来在那里,它找到python并运行它 - 但是python没有cx_Freeze。为什么?因为系统路径中的python是旧版本,所以!!对我来说这是2.6.5,尽管我使用3.3。而这个旧版本自然没有cx_Freeze因为我将它安装到3.3。这也解释了为什么在IDLE中尝试“import cx_Freeze”没有问题。
要查看哪个版本的python cmd正在调用,请在cmd中仅键入“python”,它将显示给您。
好的,快速的解决方案是简单地添加通向所需python.exe的完整绝对路径。对于python 3.3,它是:
c:\python33\python setup.py build
长期解决方案是将python 3.3添加到系统路径中。我自己没有这样做,但这应该是关于如何做到这一点的信息http://geekswithblogs.net/renso/archive/2009/10/21/how-to-set-the-windows-path-in-windows-7.aspx
这是一个迟到的答案,但我希望这至少可以帮助别人。享受你的cx_Freeze
答案 1 :(得分:1)
我在python 3.8版中遇到了同样的问题。
我发现在使用编译器更新cx_freeze
时,它转换为pip安装,并以某种方式从%PATH%
环境变量中删除了我正在使用的anaconda环境的站点包路径。 / p>
来自github的marcelotduarte,
如果您具有C编译器,则可以测试开发版本:
pip install -U git+https://github.com/marcelotduarte/cx_Freeze.git@develop
我使用pip uninstall cx_freeze
卸载了该模块,然后使用anaconda conda install cx_freeze
重新安装了该模块。这样可以解决问题并正确调整路径变量。