"找不到文件" py2exe出错

时间:2015-11-26 19:30:48

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

我最近安装了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]没有这样的文件或目录:   &#39; C:\ Anaconda3 \ lib中\站点包\ py2exe \运行py3.5赢-amd64.exe&#39;

我检查了目录,当然,该文件不存在....我甚至没有使用v3.5,我有v3.4所以我认为它应该是文件寻找是&#34; run_w-py3.4-win-amd64.exe&#34; (就在那里)。

我尝试通过另一种方式运行转换器,方法是创建一个setup.py文件:

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

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

错误来自importlib._bootstrap_external中的py2exe文件(具体而言,FileLoader函数传递路径变量,但我似乎无法弄清楚path变量已初始化或从中传递。

提前感谢您的帮助!

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

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

1 个答案:

答案 0 :(得分:0)

我发现了问题!

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

我卸载了v.3.5并安装了v3.4(我没有想要处理安装了多个版本的python)。重新安装后,我关闭了防病毒软件并使用了Tasks That Have Intermediate Results。我得到一个警告,它是旧版本的pip,但它仍然有用。

希望这可以帮助其他可能遇到同样问题的人。

相关问题