标签: cx-freeze

cx_Freeze python单个文件?

我一直在使用cx_Freeze一段时间,我有一件事我真的想做:将所有文件放入一个我可以分发的可执行文件中.发送一个包含30个文件的文件夹并不是真的用户友好,所有文件都在同一个目录中.我怎么能做到这一点?谢谢.

python cx-freeze

23
推荐指数
2
解决办法
2万
查看次数

NameError:未定义名称"exit"

我使用cxfreeze从planrequest.py创建一个Windows可执行文件.它似乎工作正常,但是当我运行exe文件时,我得到了NameError: name 'exit' is not defined

在修复程序要使用的python状态中未定义name exitimport sys.但是,我使用import sys.代码作为python脚本运行良好(例如,我在编译成可执行文件之前对命令行参数进行了广泛测试.)

import socket
import sys

if len(sys.argv) == 1:
    print("Usage:")
    print("PlanRequest [Request String] [Server IP (optional: assumes 127.0.0.1 if omitted)]")
    exit()

#[do stuff with the request]
Run Code Online (Sandbox Code Playgroud)

python cx-freeze

20
推荐指数
2
解决办法
2万
查看次数

importError:没有名为_winreg python3的模块

如果可以,我在哪里可以下载_winreg for python3.我在E:\ Windows上有'windir'.我不知道cx_Freeze是否没有注意到这一点.我正在使用cx_Freeze创建一个msi安装程序.

python winreg cx-freeze

19
推荐指数
2
解决办法
2万
查看次数

如何在cx_freeze中包含一个文件夹?

我正在使用cx_freeze来部署我的应用程序.我想包含一个完整的目录,因为包含单个文件不会将它们放在一个文件夹中.我如何包含文件夹?

python cx-freeze

18
推荐指数
1
解决办法
1万
查看次数

ImportError:无法使用cx_Freeze导入名称MAXREPEAT

我遇到了cx_Freeze运行冻结应用程序的问题(工作正常解冻).

运行程序时,会产生以下回溯:

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/cx_Freeze/initscripts/Console.py", line 27, in <module>
    exec code in m.__dict__
  File "PythonApp/mainframe.py", line 3, in <module>
  File "/usr/local/lib/python2.7/site-packages/dbus/__init__.py", line 103, in <module>
    from dbus._dbus import Bus, SystemBus, SessionBus, StarterBus
  File "/usr/local/lib/python2.7/site-packages/dbus/_dbus.py", line 39, in <module>
    from dbus.bus import BusConnection
  File "/usr/local/lib/python2.7/site-packages/dbus/bus.py", line 39, in <module>
    from dbus.connection import Connection
  File "/usr/local/lib/python2.7/site-packages/dbus/connection.py", line 27, in <module>
    import threading
  File "/usr/local/lib/python2.7/threading.py", line 44, in <module>
    module='threading', message='sys.exc_clear')
  File "/usr/local/lib/python2.7/warnings.py", line 57, in filterwarnings …
Run Code Online (Sandbox Code Playgroud)

python cx-freeze python-2.7

15
推荐指数
2
解决办法
3万
查看次数

在Ubuntu下编译Cx-Freeze

整整一天,我一直在尝试在Ubuntu 14.04下编译cx-Freeze并且没有运气.所以我放弃了,决定在这里问专家.

是)我有的

  1. Ubuntu 14.04
  2. Python 3.4
  3. python-dev,python3-dev,python3.4-dev安装(我知道这个常见问题)
  4. cx-Freeze的来源4.3.3

我试过两种方法:

  1. 从源头安装
  2. 由pip安装

从源安装

sudo python3 setup.py install
Run Code Online (Sandbox Code Playgroud)

我得到了什么

许多

MyPath/cx_Freeze-4.3.3/source/bases/Console.c:24: undefined reference to `PyErr_Print'
MyPath/cx_Freeze-4.3.3/source/bases/Console.c:24: undefined reference to `Py_FatalError'
Run Code Online (Sandbox Code Playgroud)

然后

collect2: error: ld returned 1 exit status
error: command 'i686-linux-gnu-gcc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

通过pip安装

sudo pip3 install cx-Freeze
Run Code Online (Sandbox Code Playgroud)

我得到了什么

collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

错误:命令'i686-linux-gnu-gcc'以退出状态1失败

----------------------------------------
Cleaning up...
Command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/cx-Freeze/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-c954v7x6-record/install-record.txt --single-version-externally-managed --compile failed with …
Run Code Online (Sandbox Code Playgroud)

python linux ubuntu executable cx-freeze

15
推荐指数
2
解决办法
9056
查看次数

来自.import _methods ImportError:无法在cx-freeze python中导入名称'_methods'

exe使用cx-freeze成功构建.但是当我执行exe文件时它显示以下错误:

来自.import _methods ImportError:无法导入名称'_methods'

python cx-freeze python-3.4

15
推荐指数
1
解决办法
1万
查看次数

cx_Freeze:"没有名为'codecs'的模块"Windows 10

我目前正在使用pygame模块制作游戏.我按照以下链接指示. https://pythonprogramming.net/converting-pygame-executable-cx_freeze/

当我在使用cx_Freeze时使用cx_Freeze AttributeError 属性错误时,我已经解决了一些问题,例如KeyError KeyError:'TCL_Library'

setup.py的构建已经完成,但是当我运行游戏的exe文件时,它崩溃了Fatal Python错误:Py_Initialize:无法加载文件系统编解码器

    Fatal Python error: Py_Initialize: unable to load the file system codec
Traceback (most recent call last):
  File "C:\Users\jinju\AppData\Local\Programs\Python\Python35-32\lib\encodings\__init__.py", line 31, in <module>
ImportError: No module named 'codecs'
Run Code Online (Sandbox Code Playgroud)

我已经阅读过Linux内核中回答的问题(cx_Freeze:"没有名为'codecs'的模块"),但我想知道我应该如何处理Windows 10内核.

我使用通过python主页下载的Python 3.5.3,cx_Freeze-5.1-cp35-cp35m-win32.whl通过pip,pygame 1.9.3自动下载,通过pip下载whl.

setup.py文件

import cx_Freeze, os

executables = [cx_Freeze.Executable("quatris.py")]

os.environ['TCL_LIBRARY'] = r'C:\Users\jinju\AppData\Local\Programs\Python\Python35-32\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'C:\Users\jinju\AppData\Local\Programs\Python\Python35-32\tcl\tk8.6'

cx_Freeze.setup(
    name = "QUATRIS",
    version = '1.0',
    options={"build_exe": {"packages":["pygame"], "include_files":['ab_main.wav', 'ct_main.wav', 'f3_main.wav',
                                                                    'ff_main.wav', 'gta4_soviet.wav',
                                                                    'h3_neverforget.wav', 'h_onefinaleffort.wav',
                                                                    'm_sweden.wav', 'p1_stillalive.wav',
                                                                    'p2_caramiaaddio.wav', 'smb_1-up.wav',
                                                                    'smb_bump.wav', 'smb_coin.wav', 'smb_gameover.wav', …
Run Code Online (Sandbox Code Playgroud)

python pygame cx-freeze python-3.x

15
推荐指数
1
解决办法
2654
查看次数

如何将python .py文件转换为可执行文件以供跨平台使用?

我已经搜索了一段时间,现在试图找到答案,但由于我缺乏编程经验,我不太了解文档,也没有足够的信心进行实验.

有人能用稍微简单的术语来描述我如何使用像Py2exe,PyInstaller,cx_freeze等程序吗?我只想让其他人(主要是朋友)能够运行我的(简单的,仅文本的)程序而无需自己下载python.如果有一种更简单的方法可以做到这一点,我也很高兴知道这一点.

运行Vista 32bit,python 2.7

python exe py2exe pyinstaller cx-freeze

14
推荐指数
1
解决办法
5万
查看次数

Pyinstaller图像无法加载

问题

我试图将python文件转换为EXE文件,但是我似乎每次都遇到同样的问题,无论是CX_Freeze还是Pyinstaller.我刚刚尝试使用pyinstaller,并使用该命令创建了一个EXE文件

pyinstaller --onefile thepyfile
Run Code Online (Sandbox Code Playgroud)

一切正常.它在dist文件中创建exe.但是,当我打开exe时,它会向我显示一个命令窗口,然后快速关闭.我设法捕获错误即时通讯使用打印屏幕,它说pygame错误:无法打开图像family.jpg.我正在使用pygame模块.

我试过了什么?

Iv确保图像与我的python文件位于同一目录和相同的文件夹中.当我运行它时,我的.py工作正常,它只是exe.无论如何只是为了确保在我加入路径的路径中加载图像没有问题

os.path.join
Run Code Online (Sandbox Code Playgroud)

它再次适用于py文件,但它在exe中不起作用.我还检查了我是否正确安装了pyinstaller,它适用于其他不涉及导入图像的exe程序.我也尝试创建一个文件夹,然后使用

os.path.join(folder,file)
Run Code Online (Sandbox Code Playgroud)

但它再次在py文件中工作,但不是pyinstaller/cx_freeze exe.

线索?

当我在使用CX__freeze时,我发现pygame也无法导入图像.然而它给了我一个更大的错误案例,不确定它是否有用但它可能是一个线索?

在此输入图像描述

请帮忙

我已经遇到这个问题超过5个星期了,我迫切需要帮助.

一些代码

这是我导入图像的方式(再次在py文件中工作但不在exe文件中)

family_image = pygame.image.load(os.path.join('folder',"family.jpg")).convert()
Run Code Online (Sandbox Code Playgroud)

如果需要继承我的cx_Freeze setup.py,这也使exe文件仍然给我图像不能加载错误.

import cx_Freeze
import sys
import pygame
import random
import math
import os
os.environ['TCL_LIBRARY'] = "C:\\Program Files\\Python35\\tcl\\tc18.6"
os.environ['TK_LIBRARY'] = "C:\\Program Files\\Python35\\tcl\\tk8.6"


base = None

if sys.platform == 'win32':
    base = "Win32GUI"





executables = [cx_Freeze.Executable("Treg&Shelly.py",shortcutName="Cards",shortcutDir="DesktopFolder",base = base)]

cx_Freeze.setup(
    name = "HAPPY NEW YEARS",
    options = {"build_exe":{"packages":["pygame","random","math"],"excludes" : ['tcl','ttk','tkinter','Tkinter'],"include_files":["family.jpg","newyears.png"]}},
    version = "0.01",
    description = "New Years Card",
    executables = …
Run Code Online (Sandbox Code Playgroud)

python pygame pyinstaller cx-freeze

14
推荐指数
1
解决办法
2576
查看次数