无法为 Python 3.7 64 位安装 cx_Freeze 或 scipy

Posted

技术标签:

【中文标题】无法为 Python 3.7 64 位安装 cx_Freeze 或 scipy【英文标题】:Can't install cx_Freeze or scipy for Python 3.7 64-bit 【发布时间】:2018-06-04 17:55:14 【问题描述】:

我正在尝试安装 cx_Freeze 和 scipy,但我得到了一个

编译失败,错误代码为 1

每次都出错。这是我尝试使用 cx_Freeze 执行此操作时看到的内容:

 error: file 'C:\Users\myAccount\AppData\Local\Temp\pip-install-nabp1tpo\cx-fre
eze\cxfreeze-postinstall' does not exist

    ----------------------------------------
Command "c:\users\myAccount\appdata\local\programs\python\python37\python.exe -u -
c "import setuptools, tokenize;__file__='C:\\Users\\myAccount\\AppData\\Local\\Tem
p\\pip-install-nabp1tpo\\cx-freeze\\setup.py';f=getattr(tokenize, 'open', open)(
__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __fil
e__, 'exec'))" install --record C:\Users\myAccount\AppData\Local\Temp\pip-record-3
6fbtmht\install-record.txt --single-version-externally-managed --compile" failed
 with error code 1 in C:\Users\myAccount\AppData\Local\Temp\pip-install-nabp1tpo\c
x-freeze\

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

你可以设法从***上安装它。

首先你需要安装***:

pip install wheel

然后根据你的python版本和windows版本到以下链接下载cx_Freeze wheel文件: https://www.lfd.uci.edu/~gohlke/pythonlibs/#cx_freeze

对于 64 位和 Python 3.7:cx_Freeze‑5.1.1‑cp37‑cp37m‑win_amd64.whl

在您的命令提示符下将目录更改为下载的文件夹并使用以下命令:

pip install cx_Freeze‑5.1.1‑cp37‑cp37m‑win_amd64.whl 

有关从车轮安装的更多说明,请查看以下链接:https://pip.pypa.io/en/latest/user_guide/#installing-from-wheels

同样的方法可以解决你安装 scipy 的问题。

【讨论】:

我收到此错误:找不到满足要求 cx_Freeze-5.1.1-cp37-cp37m-win_amd64 的版本(来自版本:)没有找到 cx_Freeze-5.1.1- 的匹配发行版cp37-cp37m-win_amd64 cx_Freeze‑5.1.1‑cp37‑cp37m‑win_amd64.whl 在此站点上不再可用。【参考方案2】:

出现这个问题的原因似乎是 PyPI 上的版本不是最新的。 当我从 GitHub 上的主分支手动下载它时,它对我有用。

pip install --upgrade git+https://github.com/anthony-tuininga/cx_Freeze.git@master

从 GitHub 页面上发布的 issue #407 获得此答案。

【讨论】:

例如,您可以将 ...@master 替换为 ...@5.1.1,以安装特定版本(例如标签)【参考方案3】:

我尝试了 Nischal 的解决方案(有效),但随后遇到了更多错误。

然后我将 python 回滚到 3.6-32 位,一切都完美无缺,只是提醒其他人,除非你可以安装 cx_freeze 6.0,否则回滚到 python3.6 可能更容易(或制作一个 virtualenv它)。

【讨论】:

cx_Freeze 当前存在 Python 3.7 的错误。在发布更正版本的 cx_Freeze 之前,您还可以按照 ***.com/q/51314105/8516269 中的说明手动修补本地 cx_Freeze 包,而不是回滚到 Python 3.6。【参考方案4】:

我下载了 32 位的安装程序,但 64 位不工作。

pip install cx_Freeze-5.1.1-cp37-cp37m-win32.whl

这对我来说很好。所以我想没有必要降级到 Python 3.6

【讨论】:

这适用于 Python-3.7(32 位) 它似乎只适用于 Windows,我有一个 ubuntu 20 是它向我发出平台不兼容的信号【参考方案5】:

我使用的是 Python 3.7(64 位)

    在此处下载cx_Freeze(取决于您的 Python 版本):

    并将这个 .whl 文件粘贴到工作目录中。

    打开命令提示符,粘贴以下命令并回车:

pip install cx_Freeze-5.1.1-cp37-cp37m-win_amd64.whl

请注意,此命令适用于 Python 3.7(64 位)

    输出应如下所示:

处理 c:\users\Python37\cx_freeze-5.1.1-cp37-cp37m-win_amd64.whl*

安装收集的包:cx-Freeze*

成功安装cx-Freeze-5.1.1*

【讨论】:

你的回答带来了哪些Nischal's answer中尚未包含的新信息?

以上是关于无法为 Python 3.7 64 位安装 cx_Freeze 或 scipy的主要内容,如果未能解决你的问题,请参考以下文章

使用 python 3.7 PyQt5 和 cx_Freeze 创建可执行文件,但 DLL 无法加载

如何为在 64 位 Amazon Linux 2 上运行的 Elastic Beanstalk Python 3.7 项目安装节点包?

Python安装cx_Oracle模块遇到的问题(32bit)

windows环境 python 与 cx_oracle 连接 记录

CX_freeze 可执行文件将不起作用。 _tkinter DLL 加载失败

安装Python(3.7)