[英]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.