【问题标题】:Run pythons as .exe files without python installed在没有安装 python 的情况下将 pythons 作为 .exe 文件运行
【发布时间】:2015-04-30 15:54:56
【问题描述】:

我正在尝试在未安装 python 的系统上运行 python 文件。我正在使用 py2exe,它为我提供了一个在我的系统上运行良好的 .pyc 文件,但是当我将它提供给没有使用 python 的朋友时,它告诉他 Windows 无法运行该文件。

我的setup.py 文件包含这个;

from distutils.core import setup
import py2exe

setup(console=['PyVersionControl.py'])

当我在命令行中运行 py2exe 时,这是输出

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\chdick>python setup.py py2exe
running py2exe

  3 missing Modules
  ------------------
? readline                            imported from cmd, code, pdb
? win32api                            imported from platform
? win32con                            imported from platform
Building 'dist\PyVersionControl.exe'.
Building shared code archive 'dist\library.zip'.
Copy c:\windows\system32\python34.dll to dist
Copy C:\Python34\DLLs\pyexpat.pyd to dist\pyexpat.pyd
Copy C:\Python34\DLLs\_ctypes.pyd to dist\_ctypes.pyd
Copy C:\Python34\DLLs\unicodedata.pyd to dist\unicodedata.pyd
Copy C:\Python34\DLLs\_hashlib.pyd to dist\_hashlib.pyd
Copy C:\Python34\DLLs\_socket.pyd to dist\_socket.pyd
Copy C:\Python34\DLLs\_tkinter.pyd to dist\_tkinter.pyd
Copy C:\Python34\DLLs\_bz2.pyd to dist\_bz2.pyd
Copy C:\Python34\DLLs\select.pyd to dist\select.pyd
Copy C:\Python34\DLLs\_ssl.pyd to dist\_ssl.pyd
Copy C:\Python34\DLLs\_lzma.pyd to dist\_lzma.pyd
Copy DLL C:\Python34\DLLs\tk86t.dll to dist\
Copy DLL C:\Python34\DLLs\tcl86t.dll to dist\

C:\Users\chdick>

【问题讨论】:

  • 你检查过this吗?
  • 嗯,py2exe 的重点是创建.exe 对象。如果您只给您的朋友.pyc 对象,那么是的,如果没有安装 Python,他们就无法运行它。

标签: python py2exe


【解决方案1】:

您需要使用py2exe 从您的脚本创建一个可执行文件(即从script.py 创建script.exe)。

如果您安装了正确版本的py2exe,您应该可以输入python -m py2exe.build_exe script.py

详情请参阅py2exe package page

【讨论】:

  • 我现在可以使用 py2exe 制作文件,但它提供的是 .pyc 文件而不是 .exe 文件,我的系统上没有 python 就无法运行,我认为这是重点py2exe 的?
  • @CDickson:如果完成且没有错误,输出应该是一个 exe 文件。运行py2exe 后是否有dist 文件夹?如果是这样,应该在那里找到该 exe。
  • 啊,我想我找到了!我需要 dist 文件夹中的所有内容,还是只需要库 .zip 和 exe?
  • @CDickson:这取决于您如何构建可执行文件。有关详细信息,请查看 --bundle-files 选项的文档。
【解决方案2】:

Py2exe 不支持 Python 3.4。

标题告诉你,它只适用于 Python 的第二个版本。

【讨论】:

  • 来自py2exe homepage:“支持Python 3.3 及更高版本。”
  • 2 仅表示“到”。
  • PyPi 页面说它适用于 Python 3,SourceForgewebsite 页面仅适用于 Python 2。
  • 哦,是的,对不起。我阅读了有关 py2exe 的文章。在那里我看到 py2exe 不支持 python3。直到现在我才看到这篇文章已经过时了。对不起!
猜你喜欢
  • 2015-08-21
  • 1970-01-01
  • 1970-01-01
  • 2020-08-26
  • 2020-01-01
  • 2014-11-17
  • 1970-01-01
  • 2014-03-19
  • 1970-01-01
相关资源
最近更新 更多