无法为 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 连接 记录