我正在尝试安装cx_freeze
来将python代码转换为可执行文件。但是它总是在下面显示错误。
我调查了一下问题,发现我应该降级python版本,因为没有cx_freeze
支持Python 3.8。
注意
事实证明,如果您直接从Git下载开发版本,则可以在Python 3.8上进行cx_freeze
安装。
Using cached https://files.pythonhosted.org/packages/14/74/a76c12e4e357c79999191d5db259e66b46c57708515395c023d38e6bbbd7/cx_Freeze-6.0.tar.gz
Building wheels for collected packages: cx-freeze
Building wheel for cx-freeze (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\lenovo\appdata\local\programs\python\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\lenovo\\AppData\\Local\\Temp\\pip-install-wncuyyho\\cx-freeze\\setup.py'"'"'; __file__='"'"'C:\\Users\\lenovo\\AppData\\Local\\Temp\\pip-install-wncuyyho\\cx-freeze\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\lenovo\AppData\Local\Temp\pip-wheel-59n38z49' --python-tag cp38
cwd: C:\Users\lenovo\AppData\Local\Temp\pip-install-wncuyyho\cx-freeze\
Complete output (70 lines):
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-3.8
creating build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\common.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\dist.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\finder.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\freezer.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\hooks.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\macdist.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\main.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\setupwriter.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\windist.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\__init__.py -> build\lib.win-amd64-3.8\cx_Freeze
creating build\lib.win-amd64-3.8\cx_Freeze\initscripts
copying cx_Freeze\initscripts\Console.py -> build\lib.win-amd64-3.8\cx_Freeze\initscripts
copying cx_Freeze\initscripts\ConsoleSetLibPath.py -> build\lib.win-amd64-3.8\cx_Freeze\initscripts
copying cx_Freeze\initscripts\SharedLib.py -> build\lib.win-amd64-3.8\cx_Freeze\initscripts
copying cx_Freeze\initscripts\SharedLibSource.py -> build\lib.win-amd64-3.8\cx_Freeze\initscripts
copying cx_Freeze\initscripts\__startup__.py -> build\lib.win-amd64-3.8\cx_Freeze\initscripts
creating build\lib.win-amd64-3.8\cx_Freeze\samples
creating build\lib.win-amd64-3.8\cx_Freeze\samples\advanced
copying cx_Freeze\samples\advanced\advanced_1.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\advanced
copying cx_Freeze\samples\advanced\advanced_2.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\advanced
copying cx_Freeze\samples\advanced\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\advanced
creating build\lib.win-amd64-3.8\cx_Freeze\samples\asmodule
copying cx_Freeze\samples\asmodule\asmodule.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\asmodule
copying cx_Freeze\samples\asmodule\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\asmodule
creating build\lib.win-amd64-3.8\cx_Freeze\samples\importlib
copying cx_Freeze\samples\importlib\get_examples.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\importlib
copying cx_Freeze\samples\importlib\server_simple.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\importlib
copying cx_Freeze\samples\importlib\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\importlib
copying cx_Freeze\samples\importlib\web_srv.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\importlib
copying cx_Freeze\samples\importlib\wsgiserver.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\importlib
creating build\lib.win-amd64-3.8\cx_Freeze\samples\matplotlib
copying cx_Freeze\samples\matplotlib\matplotlib_eg.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\matplotlib
copying cx_Freeze\samples\matplotlib\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\matplotlib
creating build\lib.win-amd64-3.8\cx_Freeze\samples\openpyxl
copying cx_Freeze\samples\openpyxl\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\openpyxl
copying cx_Freeze\samples\openpyxl\test_openpyxl.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\openpyxl
creating build\lib.win-amd64-3.8\cx_Freeze\samples\PyQt4
copying cx_Freeze\samples\PyQt4\PyQt4app.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\PyQt4
copying cx_Freeze\samples\PyQt4\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\PyQt4
creating build\lib.win-amd64-3.8\cx_Freeze\samples\PyQt5
copying cx_Freeze\samples\PyQt5\PyQt5app.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\PyQt5
copying cx_Freeze\samples\PyQt5\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\PyQt5
creating build\lib.win-amd64-3.8\cx_Freeze\samples\relimport
copying cx_Freeze\samples\relimport\relimport.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\relimport
copying cx_Freeze\samples\relimport\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\relimport
creating build\lib.win-amd64-3.8\cx_Freeze\samples\service
copying cx_Freeze\samples\service\Config.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\service
copying cx_Freeze\samples\service\ServiceHandler.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\service
copying cx_Freeze\samples\service\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\service
creating build\lib.win-amd64-3.8\cx_Freeze\samples\simple
copying cx_Freeze\samples\simple\hello.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\simple
copying cx_Freeze\samples\simple\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\simple
creating build\lib.win-amd64-3.8\cx_Freeze\samples\Tkinter
copying cx_Freeze\samples\Tkinter\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\Tkinter
copying cx_Freeze\samples\Tkinter\SimpleTkApp.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\Tkinter
creating build\lib.win-amd64-3.8\cx_Freeze\samples\wx
copying cx_Freeze\samples\wx\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\wx
copying cx_Freeze\samples\wx\wxapp.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\wx
creating build\lib.win-amd64-3.8\cx_Freeze\samples\zope
copying cx_Freeze\samples\zope\qotd.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\zope
copying cx_Freeze\samples\zope\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\zope
running build_ext
building 'cx_Freeze.util' extension
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/
----------------------------------------
ERROR: Failed building wheel for cx-freeze
Running setup.py clean for cx-freeze
Failed to build cx-freeze
Installing collected packages: cx-freeze
Running setup.py install for cx-freeze ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\lenovo\appdata\local\programs\python\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\lenovo\\AppData\\Local\\Temp\\pip-install-wncuyyho\\cx-freeze\\setup.py'"'"'; __file__='"'"'C:\\Users\\lenovo\\AppData\\Local\\Temp\\pip-install-wncuyyho\\cx-freeze\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\lenovo\AppData\Local\Temp\pip-record-42p9qoxu\install-record.txt' --single-version-externally-managed --compile
cwd: C:\Users\lenovo\AppData\Local\Temp\pip-install-wncuyyho\cx-freeze\
Complete output (70 lines):
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.8
creating build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\common.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\dist.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\finder.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\freezer.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\hooks.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\macdist.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\main.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\setupwriter.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\windist.py -> build\lib.win-amd64-3.8\cx_Freeze
copying cx_Freeze\__init__.py -> build\lib.win-amd64-3.8\cx_Freeze
creating build\lib.win-amd64-3.8\cx_Freeze\initscripts
copying cx_Freeze\initscripts\Console.py -> build\lib.win-amd64-3.8\cx_Freeze\initscripts
copying cx_Freeze\initscripts\ConsoleSetLibPath.py -> build\lib.win-amd64-3.8\cx_Freeze\initscripts
copying cx_Freeze\initscripts\SharedLib.py -> build\lib.win-amd64-3.8\cx_Freeze\initscripts
copying cx_Freeze\initscripts\SharedLibSource.py -> build\lib.win-amd64-3.8\cx_Freeze\initscripts
copying cx_Freeze\initscripts\__startup__.py -> build\lib.win-amd64-3.8\cx_Freeze\initscripts
creating build\lib.win-amd64-3.8\cx_Freeze\samples
creating build\lib.win-amd64-3.8\cx_Freeze\samples\advanced
copying cx_Freeze\samples\advanced\advanced_1.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\advanced
copying cx_Freeze\samples\advanced\advanced_2.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\advanced
copying cx_Freeze\samples\advanced\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\advanced
creating build\lib.win-amd64-3.8\cx_Freeze\samples\asmodule
copying cx_Freeze\samples\asmodule\asmodule.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\asmodule
copying cx_Freeze\samples\asmodule\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\asmodule
creating build\lib.win-amd64-3.8\cx_Freeze\samples\importlib
copying cx_Freeze\samples\importlib\get_examples.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\importlib
copying cx_Freeze\samples\importlib\server_simple.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\importlib
copying cx_Freeze\samples\importlib\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\importlib
copying cx_Freeze\samples\importlib\web_srv.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\importlib
copying cx_Freeze\samples\importlib\wsgiserver.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\importlib
creating build\lib.win-amd64-3.8\cx_Freeze\samples\matplotlib
copying cx_Freeze\samples\matplotlib\matplotlib_eg.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\matplotlib
copying cx_Freeze\samples\matplotlib\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\matplotlib
creating build\lib.win-amd64-3.8\cx_Freeze\samples\openpyxl
copying cx_Freeze\samples\openpyxl\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\openpyxl
copying cx_Freeze\samples\openpyxl\test_openpyxl.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\openpyxl
creating build\lib.win-amd64-3.8\cx_Freeze\samples\PyQt4
copying cx_Freeze\samples\PyQt4\PyQt4app.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\PyQt4
copying cx_Freeze\samples\PyQt4\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\PyQt4
creating build\lib.win-amd64-3.8\cx_Freeze\samples\PyQt5
copying cx_Freeze\samples\PyQt5\PyQt5app.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\PyQt5
copying cx_Freeze\samples\PyQt5\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\PyQt5
creating build\lib.win-amd64-3.8\cx_Freeze\samples\relimport
copying cx_Freeze\samples\relimport\relimport.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\relimport
copying cx_Freeze\samples\relimport\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\relimport
creating build\lib.win-amd64-3.8\cx_Freeze\samples\service
copying cx_Freeze\samples\service\Config.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\service
copying cx_Freeze\samples\service\ServiceHandler.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\service
copying cx_Freeze\samples\service\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\service
creating build\lib.win-amd64-3.8\cx_Freeze\samples\simple
copying cx_Freeze\samples\simple\hello.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\simple
copying cx_Freeze\samples\simple\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\simple
creating build\lib.win-amd64-3.8\cx_Freeze\samples\Tkinter
copying cx_Freeze\samples\Tkinter\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\Tkinter
copying cx_Freeze\samples\Tkinter\SimpleTkApp.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\Tkinter
creating build\lib.win-amd64-3.8\cx_Freeze\samples\wx
copying cx_Freeze\samples\wx\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\wx
copying cx_Freeze\samples\wx\wxapp.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\wx
creating build\lib.win-amd64-3.8\cx_Freeze\samples\zope
copying cx_Freeze\samples\zope\qotd.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\zope
copying cx_Freeze\samples\zope\setup.py -> build\lib.win-amd64-3.8\cx_Freeze\samples\zope
running build_ext
building 'cx_Freeze.util' extension
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\lenovo\appdata\local\programs\python\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\lenovo\\AppData\\Local\\Temp\\pip-install-wncuyyho\\cx-freeze\\setup.py'"'"'; __file__='"'"'C:\\Users\\lenovo\\AppData\\Local\\Temp\\pip-install-wncuyyho\\cx-freeze\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\lenovo\AppData\Local\Temp\pip-record-42p9qoxu\install-record.txt' --single-version-externally-managed --compile Check the logs for full command output.
WARNING: You are using pip version 19.2.3, however version 19.3.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
答案 0 :(得分:0)
我有完全相同的问题。解决方法如下:
您需要Windows 10的C ++编译器。从https://visualstudio.microsoft.com/downloads/
下载 Visual Studio 2019社区。双击下载的安装程序。现在,您应该看到以下窗口(稍等一会儿,然后单击下一步)之后:
在此处应选择要包含在Visual Studio安装中的“内容”。现在唯一需要的是使用C ++进行桌面开发。选择该选项后,您应该会看到安装详细信息出现在右侧。那里已经选择了一些条目(在上面的屏幕快照中标记为自动选择)。您需要手动选择最后两个条目。现在,单击右下角的安装按钮。
现在在安装过程中要有耐心:
最后,安装程序将要求您重新启动计算机。点击确定。就是这样。
仅提醒您:确保您有更新的pip
。发出命令:
python -m pip install --upgrade pip
cx_freeze
尚不支持Python 3.8。幸运的是,开发版本已修复。因此,您不应该不运行pip install cx_freeze
,而是运行以下命令:
pip install --upgrade git+https://github.com/anthony-tuininga/cx_Freeze.git@master
在我的计算机上,安装成功:
C:\Users\Kristof>pip install --upgrade git+https://github.com/anthony-tuininga/cx_Freeze.git@master
Collecting git+https://github.com/anthony-tuininga/cx_Freeze.git@master
Cloning https://github.com/anthony-tuininga/cx_Freeze.git (to revision master) to c:\users\kristof\appdata\local\temp\pip-req-build-7hrolrl1
Running command git clone -q https://github.com/anthony-tuininga/cx_Freeze.git 'C:\Users\Kristof\AppData\Local\Temp\pip-req-build-7hrolrl1'
Building wheels for collected packages: cx-Freeze
Building wheel for cx-Freeze (setup.py) ... done
Created wheel for cx-Freeze: filename=cx_Freeze-6.1-cp38-cp38-win_amd64.whl size=173005 sha256=507c3b90a1b7945fc277ccf25a5e4be7c64a37e1a1f6bce3f5171434c823fc04
Stored in directory: C:\Users\Kristof\AppData\Local\Temp\pip-ephem-wheel-cache-p7vebfjn\wheels\30\8c\fc\66fc4c5a5e2a27aa97f29d147cee6bd5d1198260ae9d1e9102
Successfully built cx-Freeze
Installing collected packages: cx-Freeze
Successfully installed cx-Freeze-6.1