【问题标题】:Running py2exe says run-py3.4-win32.exe is missing运行 py2exe 说缺少 run-py3.4-win32.exe
【发布时间】:2016-08-10 23:52:42
【问题描述】:

我尝试关注this tutorial,但被卡住了。这些是我遵循的步骤:

  1. 我安装了 Anaconda 32 位

  2. 我执行了conda create -n test py2exe -c sasview,里面安装了Python 3.4.5-0、py2exe 0.9.2.2-py34_1等包

  3. 我创建了包含print("Hello World!")hello.py 文件

  4. 我创建了 setup.py 文件,其中包含:

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

  5. 我执行了

    activate test python setup.py py2exe

结果是:

running py2exe

  1 missing Modules
  ------------------
? readline                            imported from cmd, code, pdb
Building 'dist\hello.exe'.
error: [Errno 2] No such file or directory: 'C:\\Anaconda3\\envs\\test\\lib\\site-packages\\py2exe\\run-py3.4-win32.exe'

缺少的模块只是一个警告,可以忽略(参见here)。

Py2exe 还不能用于 Python 3.5,看起来 conda 知道它并安装了 python 3.4。

我错过了什么?

【问题讨论】:

  • 好吧,该文件在包的压缩包中不存在。通过在 Anaconda.org 上搜索,该频道 (sasview) 中的 py2exe 版本似乎有些过时了。也许尝试使用silg2 频道?
  • 我都试过了,结果都一样

标签: python python-3.x py2exe conda


【解决方案1】:

执行conda create -n test py2exe -c silg2 会安装 pytnon 3.4.5 而不是最新的 3.5.2,这让我认为 conda 知道哪个版本适用于 py2exe。显然这不是真的。

这行得通:

conda create -n test python=3.4
activate test
pip install py2exe
python setup.py py2exe

使用conda list会在两种环境中显示相同版本的相同包,但py2exe仅在pip安装时有效,conda安装时无效。

【讨论】:

  • 我认为 conda 很清楚哪个版本的 Python 可以正常工作(因此它安装 3.4)。我猜这个错误可能是因为 conda 包不包含预期的 .exe 文件,而 pip 包包含。检查使用 conda vs pip 安装时安装的实际文件,看看是否有区别。很高兴你让它工作:-)
  • @darthbith .py 文件在两个安装中都是相同的,但是 pip 还安装了一堆 .dll 和 .exe,它们在 conda 创建的环境中丢失了......我认为一个大pip 和 conda 之间的区别在于 conda 更擅长管理二进制文件 :)
  • 我认为 conda 在这方面做得更好(虽然 pip 轮子很不错),但配方必须正确包装。看起来这些包的维护者在工作中倒下了,可以这么说:-)
  • @darthbith 我无法给 anaconda.org 用户 silg2 留言。你知道是否可以联系其他用户,就像我在 github 中一样?
  • 我不知道。不过,您可以制作自己的包,因为源代码在 PyPI 上可用。键入conda skeleton pypi py2exe,它应该会生成 conda 包的配方。然后输入conda build --python=3.4 C:\Path\to\recipe,它应该会构建一个包。
猜你喜欢
  • 1970-01-01
  • 2016-06-25
  • 2015-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多