【问题标题】:"File not found" error with py2exepy2exe 出现“找不到文件”错误
【发布时间】:2016-02-29 23:23:32
【问题描述】:

我最近安装了py2exe 来尝试将一些简单的python 脚本转换为可执行文件。我正在将 Anaconda 与 python 3.4 一起使用,并且我下载了 py2exe 的最新(?)包:0.9.2.2——我使用了来自https://pypi.python.org/pypi/py2exe/的 .whl 文件

一切似乎都运行良好。正如一些人建议的那样,我在运行安装程序之前禁用了我的防病毒软件:

    <path to pip.exe> install <path to py2exe.whl file>

但是当我尝试使用build_exe test.py 转换一个简单的示例文件时,我得到了错误:错误:

[Errno 2] 没有这样的文件或目录: 'C:\Anaconda3\lib\site-packages\py2exe\run-py3.5-win-amd64.exe'

我检查了目录,果然,该文件不存在......而且我什至没有使用 v3.5,我有 v3.4,所以我认为它应该寻找的文件是“ run_w-py3.4-win-amd64.exe”(在那里)。

我也尝试通过创建 setup.py 文件以另一种方式运行转换器:

    from distutils.core import setup
    import py2exe
    setup(console=['test.py'])

然后从命令提示符运行python setup.py py2exe。这给了我同样的错误。有人有解决这个问题的办法吗?

错误来自py2exe 中的importlib._bootstrap_external 文件(具体来说,是传递了路径变量的FileLoader 函数,但我似乎无法弄清楚路径变量的初始化位置或传递位置来自。

提前感谢您的帮助!

作为参考,这是我的 test.py 脚本:

    count = 0
    while count < 10:
        print("Count = ",count)
        count += 1

【问题讨论】:

    标签: python python-3.x py2exe distutils file-not-found


    【解决方案1】:

    我发现了问题!

    我在我得到的新 Microsoft Surface 上安装了最新版本的 Anaconda,但没有意识到它是特定于 python 3.5 的。这很重要的原因是因为 python 3.5 的 distutils 将尝试在 py2exe 中查找与 3.5 相关的项目,即使 py2exe 是 3.4 特定的。

    我卸载了 v.3.5 并安装了 v3.4(我不想处理安装多个版本的 python)。重新安装后,我关闭了防病毒软件并使用了pip install py2exe。我收到警告说它是旧版本的 pip,但它仍然有效。

    希望这对可能遇到与我相同问题的其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-05
      • 2021-09-13
      • 2021-06-04
      • 1970-01-01
      • 2023-01-22
      • 2017-09-03
      • 1970-01-01
      • 2020-11-23
      相关资源
      最近更新 更多