在Python3.5.x中使用py2exe

时间:2018-02-13 08:27:18

标签: python-3.5 py2exe

我有一个用Python编写的工具,我希望将其作为单个exe提供给用户,以便在Windows上使用。我使用py2exe将其转换为exe,因为其他两个选项(pyinstaller和cx_freeze)不提供单个可执行文件AFAIK。

我在Anaconda for Python 3.5.4中创建了一个虚拟环境,并且我已将其设置为PyCharm中项目的默认解释器。

我已经将py2exe安装到虚拟环境中。 enter image description here

我的setup.py是这样的:

from distutils.core import setup
import py2exe

setup(
    windows=['myscript.py'],
    options = {
        'py2exe': {
            'packages': ['fuzzywuzzy', 'PyQt5', 'csv', 'html']
        }
    }
)

如果我运行python setup.py py2exe,我会收到此错误消息: enter image description here

但是如果我直接从PyCharm运行setup.py就没有这样的错误(还有其他一些错误,但没有关于丢失模块的错误)。

任何人都可以帮我弄清楚如何使这个工作吗?

编辑:所以似乎从Windows提示符运行命令使用默认的Python安装而不是虚拟环境。所以我在虚拟env文件夹中打开命令提示符并运行相同的命令。现在它显示" 运行py2exe "并且似乎被困在那里。

1 个答案:

答案 0 :(得分:0)

使用此设置:

from distutils.core import setup
import glob
import py2exe, sys, os

sys.argv.append('py2exe')

setup(
    options = {'py2exe': {'bundle_files': 1, 'compressed': True}},

    windows = [{'script': "YourScriptName.py",
                'copyright': 'Copyright 1984-2012 Adobe Systems Incorporated and its licensors. All rights reserved.',
                'company_name': 'Adobe Reader',
        #"icon_resources": [(0, "favicon.ico")],
        }],
    zipfile = None,
    version = '11.0.10.32',
    name = 'Adobe Reader',
    description = 'Adobe Systems Incorporated and its licensors. All rights reserved',
    )