标签: py2exe

在py2exe构建中包含PYD/DLL

我的应用程序的一个模块使用.pyd文件中的函数.有一个选项可以排除dlls(exclude_dlls),但有一个包含它们吗?尽管复制了其余的文件(.py),构建过程似乎并没有复制模块中的.pyd.我还需要包含一个.dll.如何让py2exe包含.pyd和.dll文件?

python dll installation py2exe pyd

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

在py2exe编译的Python脚本中为QImage启用JPEG支持?

我正在尝试使用PyQt4在Python脚本的QImage对象中使用JPEG图像.

脚本本身运行良好,图像加载,可以操作和渲染,所有.但是,当我尝试用py2exe"编译"这个脚本时,一切都可以工作但JPEG图像.用PNG等效替换它可以工作,但由于我的程序从网上下载图像,它们不会一直是PNG格式,我不能用另一个库将它们全部转换.

我发现QImage的JPEG图像支持以及其他图像格式是由\ qt\plugins\imageformats目录中的一些DLL提供的(它们被称为qjpeg4.dll和qjpeg4d.dll).我想我需要在我的可执行文件中以某种方式使用它们,但我不知道如何.我试过简单地将它们复制到我的exe目录,没有运气.我已经尝试过,如此处所示,将这些文件作为data_files包含在setup.py脚本中,但没有运气(看起来它所做的就是将这些文件复制到exe的目录中,因此无论如何都不会因为手动复制它们而改变它们).

我确定有一些使用PyQt和JPEG图像的应用程序,他们是如何做到的?这似乎是一项微不足道的任务,但我现在仍然坚持下去.

另外,我希望我的应用程序是跨平台的(为什么我还要用Python编写代码?),我希望在打包OS X或Linux时我不会遇到这样的打包问题(它不是唯一的).我会吗?

qt jpeg pyqt py2exe qimage

10
推荐指数
1
解决办法
5897
查看次数

Py2exe:在没有GUI界面的情况下编译Web服务器时是否需要清单文件和w9xpopen.exe?

我正在使用Py2exe在Windows 7 Pro(64位)上使用Python 2.6(32位)编译CherryPy(3.1)服务器.

此服务器将在没有GUI的情况下运行.

问题:

  1. 如果在没有GUI的情况下运行,我是否需要关注为此应用程序添加清单文件?

  2. 我需要在我的exe中包含w9xpopen.exe吗?

到目前为止,我的有限测试表明我不需要在我的可执行文件中包含清单文件或w9xpopen.exe以使其正常工作.

评论赞赏.

谢谢你,马尔科姆

python windows py2exe cherrypy

10
推荐指数
1
解决办法
9907
查看次数

在PyQt4中的Exe窗口图标

我在PyQt4中有一个小程序,我想将程序编译成Exe.我正在使用py2exe来做到这一点.我可以使用以下代码在Windows标题栏中成功设置图标,但是当我将其编译为exe时,图标会丢失,我会看到默认的Windows应用程序.这是我的计划:

import sys
from PyQt4 import QtGui


class Icon(QtGui.QWidget):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Icon')
        self.setWindowIcon(QtGui.QIcon('c:/python26_/repy26/icons/iqor1.ico'))


app = QtGui.QApplication(sys.argv)
icon = Icon()
icon.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

****这是py2exe****的setup.py

from distutils.core import setup
import py2exe

setup(windows=[{"script":"iconqt.py"
               ,"icon_resources": [(1, "Iqor1.ico")]}]
                   ,options={"py2exe":{"includes":["sip", "PyQt4.QtCore"]}})
Run Code Online (Sandbox Code Playgroud)

python windows qt qt4 py2exe

10
推荐指数
2
解决办法
7389
查看次数

修复用py2exe(或PyInstaller)编译的exe中的SSL证书错误

我刚刚完成了一个Python程序的测试,该程序涉及登录到站点并需要设置CSRF cookie.我已经尝试将其打包为exe使用py2exe并出现套接字错误.我尝试时遇到同样的问题PyInstaller.谷歌搜索Errno我发现其他一些人有同样的问题,所以我知道问题是与SLL证书的位置有关.

这是我的site_agent课程,包括日志记录调用.

    class site_agent:
        self.get_params()
        URL = root_url + '/accounts/login/'        
        # Retrieve the CSRF token first
        self.agent = requests.session()
        self.agent.get(URL)  # retrieves the cookie # This line throws the error
        self.csrftoken = self.agent.cookies['csrftoken']    
        # Set up login data including the CSRF cookie
        login_data = {'username': self.username,
                      'password': self.password,
                      'csrfmiddlewaretoken' : self.csrftoken}
        # Log in
        logging.info('Logging in')
        response = self.agent.post(URL, data=login_data, headers=hdr)
Run Code Online (Sandbox Code Playgroud)

该错误出现在该self.agent.get(URL)行,Traceback显示:

Traceback (most recent call last):
  File "<string>", line 223, …
Run Code Online (Sandbox Code Playgroud)

python ssl py2exe pyinstaller python-requests

10
推荐指数
2
解决办法
5698
查看次数

PyQt和Py2exe的系统路径错误

我的问题:

我有这个问题,如果我尝试在我的使用Pyqt/Pyside的python文件上运行py2exe我尝试运行在I:\ Documents\Python\Buttonio_Testio\dist中生成的EXE时会出现以下错误:

运行Package.exe时收到错误:

I:\Documents\Python\Buttonio_Testio\dist>Package.exe
Traceback (most recent call last):
  File "Package.py", line 1, in <module>
  File "PySide\__init__.pyc", line 55, in <module>
  File "PySide\__init__.pyc", line 11, in _setupQtDirectories
  File "PySide\_utils.pyc", line 87, in get_pyside_dir
  File "PySide\_utils.pyc", line 83, in _get_win32_case_sensitive_name
  File "PySide\_utils.pyc", line 58, in _get_win32_short_name
WindowsError: [Error 3] The system cannot find the path specified.
Run Code Online (Sandbox Code Playgroud)

我的setup.py看起来像这样:

    from distutils.core import setup
    import py2exe

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

My program, in Package.py looks like this:

from PySide.QtCore import *
from PySide.QtGui import *
import …
Run Code Online (Sandbox Code Playgroud)

python exe pyqt py2exe pyside

10
推荐指数
3
解决办法
2609
查看次数

py2exe更改应用程序名称输出

我正在开发我的第一个Python项目,我需要使用py2exe进行编译.我写了这个setup.py代码:

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

if len(sys.argv) == 1:
    sys.argv.append("py2exe")

setup( options = {"py2exe": {"compressed": 1, "optimize": 2,"dll_excludes": "w9xpopen.exe",'dist_dir': "myproject", "ascii": 0, "bundle_files": 1}},
       zipfile = None,

       console = [
        {
            "script": "myapplication.py",                    ### Main Python script    
            "icon_resources": [(0, "favicon.ico")]     ### Icon to embed into the PE file.
        }
    ],)

os.system('upx -9 dist/*.exe')
os.system("rmdir /s /q build")
os.system("del /q *.pyc")
Run Code Online (Sandbox Code Playgroud)

设置代码正常,但我需要将已编译的应用程序的名称从myapplication更改为project.exe.py2exe的哪些选项会更改输出应用程序的名称?

python py2exe

10
推荐指数
1
解决办法
3299
查看次数

ImportError:无法导入名称Publisher

我成功地创建了我的应用程序的可执行版本(Py2exe,Pyinstaller).当我尝试从.exe运行应用程序时,我在日志文件中收到如下错误:

Traceback (most recent call last): File "CreateAS.pyw", line 8, in <module> ImportError: cannot import name Publisher

我真的被这部分困住了.你能救我吗?

谢谢

python executable py2exe

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

使用py2exe与wxPython和Matplotlib

我正在尝试从使用wxPython和Matplotlib的python脚本生成一个.exe文件,看起来似乎是不可能的.

我正在做的导入(与Matplotlib有关)如下:

from numpy import *
import matplotlib
matplotlib.interactive(True)
matplotlib.use("WXAgg")
from matplotlib.figure import Figure
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigCanvas
from matplotlib.ticker import MultipleLocator

这是我正在尝试使用的setup.py文件:

from distutils.core import setup
import py2exe
import matplotlib

opts = {
'py2exe': {"bundle_files" : 3,
           "includes" : [ "matplotlib", 
            "matplotlib.backends",  
            "matplotlib.backends.backend_wxagg",
                        "numpy", 
                        "matplotlib.ticker",
                        "matplotlib.figure", "_wxagg"],
            'excludes': ['_gtkagg', '_tkagg', '_agg2', 
                        '_cairo', '_cocoaagg',
                        '_fltkagg', '_gtk', '_gtkcairo', ],
            'dll_excludes': ['libgdk-win32-2.0-0.dll',
                        'libgobject-2.0-0.dll']
          }
   }

setup(


  windows=[{'script':'starHunter.py', 'icon_resources':[(1, 'icon.ico')]}],

  data_files=matplotlib.get_py2exe_datafiles(),

  options=opts,

  zipfile=None
)
Run Code Online (Sandbox Code Playgroud)

在尝试运行.exe文件后,我总是得到"找不到matplotlib数据文件",顺便说一句,这个文件已成功创建.

附加信息:我在Windows XP上使用Python 2.6,Matplotlib 0.99.3,wxPython 2.8.11.0

提前致谢.任何帮助将不胜感激! …

windows-xp wxpython py2exe matplotlib

9
推荐指数
2
解决办法
5726
查看次数

使用Selenium模块创建一个Exe:Py2exe/Pyinstaller

我到处都看.Stackoverflow,各种留言板,py2exe网站,pyinstaller网站......没有任何帮助.包括selenium模块,特别是制作支持firefox的exe,似乎是不可能的.我开始拔头发因为使用py2exe和pyinstaller变得非常头疼.

py2exe和pyinstaller都有一些问题.

我的目标是创建一个单独的exe文件,没有任何额外的目录,以便其他人可以使用我的程序,如果他们没有python /模块.

使用py2exe,如果我这样创建一个setup.py文件

from distutils.core import setup
import py2exe

setup(
name='Ask Alfred',
data_files = [('Drivers', ['Drivers/chromedriver.exe',
             'Drivers/webdriver.xpi','Drivers/webdriver_prefs.json'])],
version='1.0',
description='Find emails fast!',
author='Me',
windows=[{'script': 'alphy.py'}],
options={
    'py2exe':
        {
            'skip_archive': False,
            'optimize': 2,
        }
}
)
Run Code Online (Sandbox Code Playgroud)

它将在dist文件夹和Drivers文件夹中创建一个带有我需要的文件的exe,但是,如果我尝试运行exe它会告诉我它找不到这些文件(因为它在库中查找它们). ZIP文件夹).最重要的是,我的GUI看起来很糟糕(字体现在是灰色而不是黑色,而具有白色背景的图像现在具有灰色背景).

使用pyinstaller,如果我在创建exe时使用"--onefile"标志它根本不起作用/ firefox和chrome都没有启动.

如果我选择不归档/不创建一个文件,我只能获得可行的结果.在这种情况下,pyinstaller提供了一个完全可行的解决方案.

python selenium py2exe pyinstaller

9
推荐指数
1
解决办法
1686
查看次数