繁体   English   中英

为什么在安装 cx_freeze 后出现“没有名为 cx_Freeze 的模块”错误?

[英]Why am I getting a “no module named cx_Freeze” error after installing cx_freeze?

我正在尝试编译一个 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("")] ,
)    

终于找到了解决这个问题的办法! 尝试了两天,一个程序员朋友帮助了我(我自己不是程序员)。

因此,当您在 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

我在 python 3.8 版中遇到了同样的问题。

我发现在使用编译器更新cx_freeze时,它转换为 pip 安装,并以某种方式从我正在运行的 anaconda 环境的%PATH%环境变量中删除了站点包路径。

来自github 的marcelotduarte ,

如果你有C编译器,可以测试开发版: pip install -U git+https://github.com/marcelotduarte/cx_Freeze.git@develop

我使用pip uninstall cx_freeze卸载了模块,然后使用 anaconda 重新conda install cx_freeze 这更正了问题并正确对齐了路径变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM