首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Py2exe拒绝访问

使用Py2exe拒绝访问
EN

Stack Overflow用户
提问于 2014-02-18 08:30:48
回答 5查看 10.9K关注 0票数 14

我正在使用Py2exe创建一个可执行文件作为窗口服务。

当我运行脚本时,我会得到以下错误:

文件"C:\TeamCity\buildAgent\work\582d895bd5b431ac\winpython\WinPython-32bit-2.7.3.3\python-2.7.3\lib\site-packages\py2exe\build_exe.py",第860行,在build_executable add_resource(ensure_unicode(exe_path),script_bytes中,u"PYTHONSCRIPT",1,True) RuntimeError: EndUpdateResource:访问被拒绝。

这是对py2exe的调用:

代码语言:javascript
复制
    setup(
    name = NAME,
    description = DESCRIPTION,
    version = '1.0.133.43',
    service = [{'modules':["ServiceLauncher"], 'cmdline':'pywin32'}],
    zipfile=None,
    options = {
        "py2exe":{"packages":"encodings",
                  "includes":"win32com,win32service,win32serviceutil,win32event",
                  "excludes":"libiomp5md.dll"
        },
        },
    )

这个问题只发生在构建机器上,它在我的dev pc上运行良好。

我曾尝试将“完全控制”设置为“工作”文件夹中的每个人,但它不起作用。

有什么想法吗?

谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-02-19 15:18:22

经过两天的调查,我们在IT人员的帮助下找到了一个解决方案。

当py2exe试图修改可执行文件、添加元数据和\或图标时,就会出现这个问题。

根本原因?简单..。抗病毒。

它认为该操作是一种威胁,并导致访问拒绝错误。

谢谢大家!

票数 40
EN

Stack Overflow用户

发布于 2017-06-23 14:44:55

正如其他人所指出的,问题很可能是杀毒程序阻止对.exe文件的写访问。如果不能或不希望禁用防病毒,setup.py文件开头的以下修补程序将重命名该文件,以避免修改前的.exe扩展名,并在修改后重命名它。

代码语言:javascript
复制
import py2exe.py2exe_util
from py2exe.py2exe_util import add_resource
import os

def add_resource_patch(name, *arg, **kwarg):
    name_tmp = name + '.tmp'
    os.rename(name, name_tmp)
    add_resource(name_tmp, *arg, **kwarg)
    os.rename(name_tmp, name)

py2exe.py2exe_util.add_resource = add_resource_patch

from distutils.core import setup
import py2exe
setup(...)
票数 2
EN

Stack Overflow用户

发布于 2014-10-29 20:00:00

我发现,断开与互联网的连接足以解决问题(尽管这可能与禁用所提议的防病毒解决方案有关)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21848033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档