.exe 图标不改变 [py2exe]

.exe Icon Doesn't Change [py2exe]

我的图标文件 myicon.ico 与 setup.py 在同一目录中。当我 运行 py2exe 时, myproject.exe 没有图标。我寻找解决方案但找不到。

setup.py代码为:

from distutils.core import setup
import py2exe

setup(
   windows=[{
         "script": "myproject.py",
         "icon_resources": [(0, "favicon.ico")],
      }]
)

OS: Win8.1 64位

请试试这个

from distutils.core import setup

setup(
    options = {'py2exe': {'bundle_files': 1}},
    zipfile = None,
    windows = [{
            "script":"myproject.py",
            "icon_resources": [(1, "favicon.ico")],
            }],
)

我就是这样处理我的问题的;

  1. 我在问题中使用了上面的代码post。
  2. 然后我安装了Resourch Hacker程序。
  3. 我用 Resourch Hacker 程序打开了 myprogram.exe 文件。
  4. 然后操作>替换图标>我选择了我想要的图标。
  5. 没关系!

资源黑客教程CLICK THIS

我遇到了同样的问题。我从http://www.iconarchive.com/search?q=windows+7&page=5下载了一个win7图标解决了,应该是一开始打不开的图标文件不是正确的win7格式图标。

这个网页https://www.creativefreedom.co.uk/icon-designers-blog/windows-7-icon-sizes/告诉我们一个话题"Testing your Windows 7 Icon"检查一个图标是否是真正的win7图标。

py2exe 似乎有 a 4-year-old bug on handling icons,但由于其描述,我设法解决了这个问题:

setup_dict = dict(
    windows = [{'script': "script.py",
                "icon_resources": [(1, "icon.ico")}],
)

setup(**setup_dict)
setup(**setup_dict)

这几乎是两次构建项目。如果您的项目很复杂并且需要很长时间才能通过 py2exe 进行处理,您可以使用它来构建一个虚拟 py 文件:

import tempfile
tf = tempfile.NamedTemporaryFile(delete=False)
tf.close()
setup(
    windows = [{
        'script': tf.name,
        "icon_resources":[(1, "icon.ico")]}]
)
os.remove(tf.name)

只是不要忘记像您的项目一样设置排除项,否则您的 dist 文件夹中会塞满不需要的文件。

我使用了不同的程序,遇到了 pyinstaller from this post 第一次就成功了。

已安装:

pip install pyinstaller

编译我的程序:

pyinstaller myprogram.py -i icon.ico

第一次成功!希望对您有所帮助。