我使用以下安装文件使用cx_freeze创建可执行文件.是否可以使用除可执行脚本名称之外的其他名称生成exe?
from cx_Freeze import setup, Executable
import xlrd
buildOptions = dict(
compressed = True,
optimize=2,
path=sys.path+[".\\uitls", “.\\supported”],
include_files=[“Doc"],
includes=[“xlrd”, "win32com"],
packages=["utils", ”supported"],
append_script_to_exe=True,
copy_dependent_files=True,
)
setup(
name = "TestExecutable",
version = "0.1",
options = dict(build_exe = buildOptions),
executables = [Executable(script=r".\\codebase\\runner.py",
icon=".\\icon.ico",
base="Win32GUI")]
)
Run Code Online (Sandbox Code Playgroud)
所以现在创建的exe文件名为runner.exe,我希望它与myexecutable.exe不同,重命名可执行文件,如果脚本不能正常运行,则脚本模块会进一步引用该脚本.
我无法理解为什么在使用cx_freeze构建应用程序后我的QGraphicsPixmapItem没有出现.该类和cx_freeze是否有任何已知问题,或者我错过了cx_freeze的一些设置?以下是创建和显示QGraphicsPixmapItem的部分,之后是我的cx_freeze的setup.py:
def partNo_changed(self):
self.scene.removeItem(self.previewItem)
partNumber = self.ui.partNo.text()
fileLocation = 'drawings\\FULL\\%s.svg' % partNumber
print(fileLocation)
pixmap = QtGui.QPixmap(fileLocation)
self.previewItem = QtGui.QGraphicsPixmapItem(pixmap)
self.previewItem.setPos(0, 0)
self.scene.addItem(self.previewItem)
self.ui.svgPreview.centerOn(self.previewItem)
Run Code Online (Sandbox Code Playgroud)
这是setup.py脚本:
from cx_Freeze import setup, Executable
files = ['drawings\\FULL']
setup(
name = 'DBManager',
version = '1.0',
description = 'Makes and maintains the .csv database files.',
author = 'Brock Seabaugh',
options = {'build_exe': {'include_files':files, 'bin_path_includes':files}},
executables = [Executable('dbManager_publicDB.py')])
Run Code Online (Sandbox Code Playgroud)
其他所有东西都在程序中运行,这是唯一不起作用的东西(如果我只运行.py脚本,它会起作用,但是当我运行exe时却不行).我构建或运行exe时没有错误.如果有人可以帮助解决这个问题,那就太棒了.我正在使用Python v3.1和cx_freeze v4.2.3以及PyQt v4.
我试图用cx_Freeze冻结Python脚本.该脚本使用了pandas.当我运行cx_Freeze创建的可执行文件时,我得到以下Traceback:
[...]
File "C:\Python27\lib\site-packages\pandas\__init__.py", line 6, in <module>
from . import hashtable, tslib, lib
File "ExtensionLoader_pandas_hashtable.py", line 11, in <module>
File "numpy.pxd", line 156, in init pandas.hashtable (pandas\hashtable.c:20273)
File "C:\Python27\lib\site-packages\numpy\__init__.py", line 147, in <module>
from core import *
AttributeError: 'module' object has no attribute 'sys'
Run Code Online (Sandbox Code Playgroud)
我正在使用的唯一一个pandas代码(用于测试)是:
from pandas import DataFrame
import pandas as pd
d = {'one' : [1., 2., 3., 4.],
'two' : [4., 3., 2., 1.]}
df = DataFrame(d)
Run Code Online (Sandbox Code Playgroud)
当我尝试在cx_Freeze设置文件中的'packages'下包含'pandas'时,它在冻结过程中失败:
ValueError: too many values to unpack
Run Code Online (Sandbox Code Playgroud)
我在Windows7(64位)上遇到了32位和64位版本的Python 2.7.3同样的问题.pandas版本为0.10.1,cx_Freeze为4.3.1. …
目前我使用pyinstaller捆绑我的python应用程序.我同样迁移到pyGObject(由于pygtk被折旧).
现在pyinstaller不支持pyGObject,我还没有找到所需的钩子... pyinstaller的另一个缺点是它如何捆绑成一个可执行文件 - 它导致公司安装的病毒扫描程序每次都非常密集地检查exe运行==>启动速度很慢.
由于pyGObject和py3支持,我期待使用cx_freeze,我注意到它没有单一可执行选项.如果可以清理工作目录,那本身就不是问题,可以通过将pyd/dll捆绑到第二个zip或子目录中来实现.
搜索(stackoverflow和其他网站),可以做到这一点,但我没有得到预期的结果.有任何想法吗?
setup.py基于这个:http://wiki.wxpython.org/cx_freeze
我正在带有 Retina 显示屏的 macbook pro 上构建一个 pyside 应用程序,这是我的安装文件:
import sys
from cx_Freeze import setup, Executable
# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options = {"packages": ["os", "sys", "PySide", "datetime", "subprocess"], "excludes": ["tkinter"]}
# GUI applications require a different base on Windows (the default is for a
# console application).
base = None
if sys.platform == "win32":
base = "Win32GUI"
options = {
'build_exe': {
'includes': 'atexit'
}
}
executables = [
Executable('countdown.py', base=base)
]
setup( name …
Run Code Online (Sandbox Code Playgroud) 游戏从源代码运行良好.当我使用cx_Freeze在Linux上编译二进制文件时,我在第二台机器上遇到错误:
~/tmp/exe.linux-x86_64-2.7 $ ./rungame
/home/local/tmp/exe.linux-x86_64-2.7/library.zip/lib/MenuItem.py:13: RuntimeWarning: use font: libSDL_ttf-2.0.so.0: cannot open shared object file: No such file or directory
(ImportError: libSDL_ttf-2.0.so.0: cannot open shared object file: No such file or directory)
Traceback (most recent call last):
File "/usr/lib64/python2.7/site-packages/cx_Freeze/initscripts/Console.py", line 27, in <module>
File "rungame.py", line 10, in <module>
File "/lib/gameloop.py", line 13, in <module>
File "/lib/settings.py", line 10, in <module>
File "/lib/menuitem.py", line 13, in <module>
File "/usr/lib64/python2.7/site-packages/pygame/__init__.py", line 74, in __getattr__
NotImplementedError: font module not available
(ImportError: libSDL_ttf-2.0.so.0: cannot …
Run Code Online (Sandbox Code Playgroud) 我在处理 cx_Freeze 5.0 时遇到了麻烦:Windows 10 LTSB x64 Python 3.4.4 x86 PyQt5 PyWin32 x86
在我重新安装 Windows10 之前,我从来没有遇到过任何问题...
当我冻结我的 python 应用程序(python setup.py build)脚本时,将整个 python 库复制到 python34.zip 之外。我在 python34.zip 中唯一得到的是 *.pyc 文件(只有这个..但很多)
我不知道为什么它现在不包含 python 库并且没有找到任何选项/配置,它必须自动包含这个......
如果有人可以帮助解决这个问题.. :)
注意:我的 setup.py,简单的 setup.py 文件中没有任何变化,从标准示例复制而来,只包含一个资产文件夹(这个是正确复制的......没有问题)
谢谢 !
嗨,我在一段 python 代码上运行 cx-freeze 时遇到问题。当我单击 cx-freeze 生成的可执行文件时,它总是抛出错误消息。任何人都可以帮忙吗?- 使用 Python 3.6.1。
我还在另一段 python 代码上运行了 cx-freeze,它运行良好。
错误信息如下:
Last login: Thu Aug 31 14:45:12 on ttys002
EMacBook-Pro:~ E$ /Users/E/PycharmProjects/ImageRename/dist/exportImageName_1 ; exit;
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/cx_Freeze/initscripts/__startup__.py", line 14, in run
module.run()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/cx_Freeze/initscripts/Console.py", line 26, in run
exec(code, m.__dict__)
File "exportImageName_1.py", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/xlwt/__init__.py", line 4, in <module>
from .Worksheet import Worksheet
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/xlwt/Worksheet.py", line 38, in <module>
from .Row import Row
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/xlwt/Row.py", line 8, in …
Run Code Online (Sandbox Code Playgroud) 这是我的主要代码:
import turtle
import random
from sys import exit
import canvasvg
import os
import tempfile
import shutil
import cairosvg
red = 125
green = 70
blue = 38
pen = 15
def runChk():
runAgain = input("Would you like to return to menu? Y/N (N will exit) \n")
if runAgain.upper() == "Y":
print("Running...")
turtle.clearscreen()
start()
elif runAgain.upper() == "N":
print("Exiting...")
exit()
else:
print("Invalid response.")
runChk()
def saveImg():
print("Done.")
save = input("Would you like to save this tree? Y/N \n")
if save.upper() …
Run Code Online (Sandbox Code Playgroud) 我有一个wxPython/bs4应用程序,我正在使用cx_freeze构建一个exe.
构建成功没有错误,但尝试运行EXE会导致FeatureNotFound
BeautifulSoup4出错.它抱怨我没有安装我的lxml库.
我已经将程序剥离到它的最小状态并仍然得到错误.
有没有其他人使用cx_freeze成功构建bs4应用程序?
请查看下面的详细信息,并告诉我您可能有的任何想法.
谢谢,
我已经将应用程序简化为最基本的状态,但仍然会出错.我在Python 3.4上也得到了同样的错误.
Traceback (most recent call last):
File "C:\WinPython27\python-2.6.7\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module>
exec(code, m.__dict__)
File "test.py", line 6, in <module>
File "C:\WinPython27\python-2.6.7\lib\site-packages\bs4\__init__.py", line 152, in __init__
% ",".join(feautres))
FeatureNotFound: Couldn't find a tree builder with the features you requested: xml. Do you need to install a parser library?
Run Code Online (Sandbox Code Playgroud)
我发现有些人说我需要在构建脚本中包含lxml及其依赖项:http://sourceforge.net/p/cx-freeze/mailman/message/27973651/(对不起SF链接).我试过这个,但仍然没有骰子.
注释掉该行soup = BeautifulSoup("<tag>value</tag>", 'xml')
不会导致错误.