为 Python 2.7 创建可执行文件

Creating Executable File For Python 2.7

我想从 python 文件创建一个可执行文件 python 文件是为 Python 2.7.

编写的

我试过pyinstaller,但安装时出现错误。我猜它不再支持 Python 2.7。

pyinstaller 是否有适用于 Python 2.7 的替代方案?

我尝试安装 cx_Freeze 5.1.1 版,但出现以下错误:

Cleaning up...
Command C:\Python27\python.exe -c "import setuptools, tokenize;__file__='c:\users\win-10\appdata\local\temp\pip_build_win-10\cx-Freeze\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\win-10\appdata\local\temp\pip-cn4sd_-record\install-record.txt --single-version-externally-managed --compile failed with error code 1 in c:\users\win-10\appdata\local\temp\pip_build_win-10\cx-Freeze
Storing debug log for failure in C:\Users\win-10\pip\pip.log

当我从 wheel 安装时

cx_Freeze-5.1.1-cp27-cp27m-win_amd64.whl is not a supported wheel on this platform.
Storing debug log for failure in C:\Users\win-10\pip\pip.log

setup.py

from sys import executable
from cx_Freeze import setup, Executable

setup(name='server', version='0.1', description='reverse shell server')

我前段时间遇到过这个问题,经过大量谷歌搜索后我找到了最适合我的解决方案。

备选方案

  • Py2Exe: 这是旧的,PyPi 的最后一个版本是 2014 年 10 月 21 日。
  • pyInstaller: 是个不错的工具,但有一些问题,我们稍后会看到。
  • auto-py-to-exe:使用 pyInstaller 构建 .exe,所以遇到同样的问题,但是有一个漂亮的 GUI 并且使用起来很直观。
  • cx_Freeze: I think the best solution, because it was the only one that works in my case, it is also recommended from python

调查

这段时间我在google和Whosebug上寻找最好的解决方案,每次我发现一些东西是out-dated或不好explained/documented,所以我研究了官方文档。

py2exe

作为第一次尝试,我安装了 py2exe,它似乎是最好的选择,也是 python 推荐的,所以,试一试吧。 安装过程一切顺利,所以我决定按照 tutorial 并获得我的 .exe.

在教程的第 3 步中,运行设置我收到一个错误,查看 google 我发现 this

我放弃了py2exe。

auto-py-to-exe && pyInstaller

我已经安装了 auto-py-to-exe,一切顺利,程序打开没有问题,所以我创建了我的 .exe 文件,这很有效!

唯一的问题是,该程序只能在我的笔记本电脑上运行,在我尝试执行杀毒软件的所有其他机器上都将其删除。

看google发现和我的一样github repository where I found one issue,看了下才知道是pyInstaller的问题

pyInstaller repository I found one issue一位投稿人说联系杀毒软件vendo,我又放弃了。

cx_Freeze

docs实现一个简单的.exe似乎过于复杂,所以我研究了文档并找到了我需要的东西。如果您需要 Python 2.x 的支持,则应使用 cx_Freeze 版本 5.1.x,只需 运行 pip install cx-Freeze==5.1.1

  • 打开项目文件夹并在其中创建一个 setup.py 文件,其中包含:

    import sys
    from cx_Freeze import setup, Executable
    
    setup(  name = "myProgram",
            version = "0.1",
            description = "",
            executables = [Executable("myProgram.py")])
    

    设置这个文件需要一点学习,有多个选项可以设置。您可以设置选项来创建一个简单的 .exe 或创建一个 windows/mac/linux 安装程序。

  • 准备好文件后,使用所需的选项,只需在 setup.py 文件所在的目录中打开一个 shell/terminal/cmd 并执行:python setup.py build

  • 现在在您的项目文件夹中,您会看到一个文件夹,您可以在其中找到您的 .exe 文件。