精华内容
下载资源
问答
  • 转自:http://blog.csdn.net/Jerry_1126/article/details/43908875将Python脚本文件包装成可执行文件,其目的有二:一则: 需要依赖Python编译器就可以运行软件二则: 想让自己源码公布出去常用工具有: py2exe...

    转自:http://blog.csdn.net/Jerry_1126/article/details/43908875

    将Python脚本文件包装成可执行文件,其目的有二:

    一则: 不需要依赖Python编译器就可以运行软件

    二则: 不想让自己的源码公布出去

    常用的工具有: py2exe、cx_freeze等

    【工具:py2exe】

    安装py2exe

    安装该工具很简单:

    只需要从官方网站:http://www.py2exe.org/下载与版本对应的安装程序,点击下一步即可完成安装。

    安装后,执行import py2exe,不报错则表示安装成功!

    >>> import py2exe

    >>>

    NOTE: 目前该工具只支持到Python2.7, 对于Python3而言,必须借助另外一个工具:cx_freeze

    使用py2exe

    第一步: 准备源代码,假如名为:Hello.py

    第二步: 准备编译脚本,假如名为:setup.py

    from distutils.core import setup

    import py2exe

    setup(windows=['Hello.py'])

    第三步: 运行命令: setup.py py2exe

    D:\temp>setup.py py2exe运行之后,会在我当前运行的目录下(D:\temp)默认生成dict目录,里面的文件如下:

    默认情况下,py2exe在目录dist下创建以下这些必须的文件:

    1、一个或多个exe文件。如本例为: Hello.exe

    2、python##.dll。 如本例中: Python27.dll

    3、.pyd文件,它们是已编译的扩展名,它们是exe文件所需要的;加上其它的.dll文件,这些.dll是.pyd所需要的。

    4、一个library.zip文件,它包含了已编译的纯的python模块如.pyc或.pyo

    第四步: 双击Hello.exe可执行文件,跟源代码运行后同样的结果:

    其他

    1:执行setup.py --help获取帮助信息

    Global options:

    --verbose (-v)  run verbosely (default)

    --quiet (-q)    run quietly (turns verbosity off)

    --dry-run (-n)  don't actually do anything

    --help (-h)     show detailed help message

    --no-user-cfg   ignore pydistutils.cfg in your home directory

    Options for 'py2exe' command:

    --optimize (-O)       optimization level: -O1 for "python -O", -O2 for

    "python -OO", and -O0 to disable [default: -O0]

    --dist-dir (-d)       directory to put final built distributions in (default

    is dist)

    --excludes (-e)       comma-separated list of modules to exclude

    --dll-excludes        comma-separated list of DLLs to exclude

    --ignores             comma-separated list of modules to ignore if they are

    not found

    --includes (-i)       comma-separated list of modules to include

    --packages (-p)       comma-separated list of packages to include

    --compressed (-c)     create a compressed zipfile

    --xref (-x)           create and show a module cross reference

    --bundle-files (-b)   bundle dlls in the zipfile or the exe. Valid levels

    are 1, 2, or 3 (default)

    --skip-archive        do not place Python bytecode files in an archive, put

    them directly in the file system

    --ascii (-a)          do not automatically include encodings and codecs

    --custom-boot-script  Python file that will be run when setting up the

    runtime environment

    usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]

    or: setup.py --help [cmd1 cmd2 ...]

    or: setup.py --help-commands

    or: setup.py cmd --help2: 一个详细的编译脚本

    # -*- coding: cp936 -*-

    from distutils.core import setup

    import py2exe

    includes = ["encodings", "encodings.*"]

    options = {"py2exe":

    {"compressed": 1,      # 压缩

    "optimize": 2,        # 优化级别

    "ascii": 1,           #

    "includes":includes,  # 编码方式

    "bundle_files": 1     # 所有文件打包成一个zipfile或exe文件,有效级别1,2,3

    }}

    setup(

    options=options,               # 是否需要可选项,默认为None

    zipfile=None,                  # 是否需要压缩像,默认为None

    console=[{"script": "HelloCmd.py", "icon_resources": [(1, "pc.ico")]}], # 针对CMD控制端口

    windows=[{"script": "HelloWin.py", "icon_resources": [(1, "pc.ico")]}], # 针对GUI图形窗口

    data_files=[("magic",["App_x86.exe",]),],

    version = "v1.01",             # 版本信息

    description = "py2exe testing",# 描述信息

    name = "Hello, Py2exe",        # 名字信息

    )详情,请参考官方文档:

    展开全文
  • 我原来这样写: <exec dir="${another.project}" executable="ant"> &...结果:Execute failed: java.io.IOException: CreateProcess: ant error=2  ... 就

    我原来这样写:

    <exec dir="${another.project}" executable="ant">
      </exec>

    结果:Execute failed: java.io.IOException: CreateProcess: ant error=2 

     

    后来把 executable="ant" 改成 executable="ant.bat" 就成功了

    官方文档这样说:

    Windows Users

    The <exec> task delegates to Runtime.exec which in turn apparently calls ::CreateProcess. It is the latter Win32 function that defines the exact semantics of the call. In particular, if you do not put a file extension on the executable, only ".EXE" files are looked for, not ".COM", ".CMD" or other file types listed in the environment variable PATHEXT. That is only used by the shell.

    Note that .bat files cannot in general by executed directly. One normally needs to execute the command shell executable cmd using the /c switch.

    <target name="help">
      <exec executable="cmd">
        <arg value="/c"/>
        <arg value="ant.bat"/>
        <arg value="-p"/>
      </exec>
    </target>
    
    展开全文
  • 我原来这样写: 结果:Execute failed: java.io.IOException: CreateProcess: ant error=2 后来把 executable="ant" 改成 executable="ant.bat" 就成功了官方文档这样说:Windows UsersThe task delegates to ...

    我原来这样写:

    <exec dir="${another.project}" executable="ant">
      </exec>

    结果:Execute failed: java.io.IOException: CreateProcess: ant error=2 

     

    后来把 executable="ant" 改成 executable="ant.bat" 就成功了

    官方文档这样说:

    Windows Users

    The <exec> task delegates to Runtime.exec which in turn apparently calls ::CreateProcess. It is the latter Win32 function that defines the exact semantics of the call. In particular, if you do not put a file extension on the executable, only ".EXE" files are looked for, not ".COM", ".CMD" or other file types listed in the environment variable PATHEXT. That is only used by the shell.

    Note that .bat files cannot in general by executed directly. One normally needs to execute the command shell executable cmd using the /c switch.

    <target name="help">
      <exec executable="cmd">
        <arg value="/c"/>
        <arg value="ant.bat"/>
        <arg value="-p"/>
      </exec>
    </target>
    
    展开全文
  • 假设我们有一个Python脚本do.py,我们希望能够在...在Windows上,无法在没有扩展名的情况下执行文件.在Windows上,如果我们保留原始文件扩展名,我们将能够在没有全名情况下调用脚本,因为Python安装程序将.py扩展名...

    假设我们有一个

    Python脚本do.py,我们希望能够在没有扩展名的情况下调用它,比如do或./do.

    如果我们将文件从do.py重命名为do并确保我们有一个有效的shebang行,它将适用于除Windows之外的所有平台.在Windows上,无法在没有扩展名的情况下执行文件.

    在Windows上,如果我们保留原始文件扩展名,我们将能够在没有全名的情况下调用脚本,因为Python安装程序将.py扩展名注册为可执行文件.

    看起来我们需要以两个不同的名称提供相同的脚本,以便在Windows和非Windows环境中调用它.我真的不喜欢这个,我正在寻找没有这种冗余的解决方案.

    另一种常见的方法是添加一个调用原始do.py文件的do.cmd包装批处理文件.这至少有一个主要问题:它确实打破了Ctrl C/C++trl Break,因为没有办法阻止cmd.exe提示您使用Terminate batch job? (Y/N) message.

    如果我们要使用包装器,我们需要确保:

    >返回原始脚本返回的错误代码(errorlevel)

    >它不会改变环境

    >它将重用相同的控制台(没有新窗口)

    >不会干扰STDOUT,STDIN或STDERR

    >使用Ctrl-C友好(没有提示)

    我想最佳解决方案仍然是使用包装器.批处理不起作用,本机可执行文件会增加很多复杂性,所以可能在python本身写的包装器会这样做.

    展开全文
  • 在程序设计完成之后应当将其制作成输出为扩展名为.scr屏幕保护程序文件,而不是直接输出可执行文件.exe。
  • 002exe这是Windows系统的可执行文件的后缀,一般的客户端软件都会包装成exe,方便传输和下载。 003 思想,后缀名是一种非必须的东西,有的文件可以扩展名扩展名具有伪装性,可以将视频文件的后缀修改为txt, ...
  • 有时候,我们要显示文件的扩展名,这样我们在打开文件的时候,就放心多了。譬如:文档是dos后缀名,图片是png后缀名等等。有时候黑客会利用windows系统漏洞,影藏文件后缀名,一些不是可执行文件,却被黑客改成了exe...
  • 可执行文件的后缀是 .exe 2 linux下 可执行文件没有扩展名,Linux根据扩展名判断文件类型,而是根据文件的内容来判断。所以扩展名的作用是帮助人来识别文件,对于Linux系统本身来说没有什么用处。 .sh结尾表示...
  • 以 py 扩展名的文件是 Python 源码文件,由 python.exe 解释,在控制台下运行。可用文本编辑器读写。Python中经常使用的文件后缀名:pyc以 pyc 为扩展名的是Python编译文件。其执行速度快于 py 文件能用文本...
  • 有时想把asp的扩展名藏起来,让浏览者知道用的是什么语言。当然可以用URL重写。不过这里介绍另一个办法。 比如要IIS把/admin/abc.aa文件当成asp执行在IIS管理里,找到需要设置的主机,直至需要启用的具体...
  • linux的可执行文件是什么后缀

    千次阅读 2020-03-05 09:32:26
    一般没有后缀,linux一般可以自动识别文件类型,有很多...有些时候可执行文件的后缀名为.out。Linux下的后缀名并没用windows下那么有用,Linux根据扩展名判断文件类型,而是根据文件的内容来判断。所以扩展名的作...
  • 以 py 扩展名的文件是 Python 源码文件,由 python.exe 解释,在控制台下运行。可用文本编辑器读写。Python中经常使用的文件后缀名:pyc以 pyc 为扩展名的是Python编译文件。其执行速度快于 py 文件能用文本...
  • QLStephen是一个QuickLook插件,让您查看文本文件而无需使用它们自己专用QuickLook插件。 像这样的文件: README INSTALL Capfile CHANGELOG package.json etc... 安装 自制酒 brew cask install qlstephen 预...
  • linux可执行文件的后缀是什么?

    万次阅读 2014-04-10 22:11:47
    一般来说,可执行文件没有扩展名。 Linux根据扩展名判断文件类型,而是根据文件的内容来判断。所以扩展名的作用是帮助人来识别文件,对于Linux系统本身来说没有什么用处。 .sh结尾表示是shell脚本文件,但是...
  • 一般来说,可执行文件没有扩展名。 Linux根据扩展名判断文件类型,而是根据文件的内容来判断。所以扩展名的作用是帮助人来识别文件,对于Linux系统本身来说没有什么用处。 .sh结尾表示是shell脚本文件,但是以...
  • 回想起我们在上大学时候,操作系统课程老师一般都是这样介绍ELF:window下的可执行文件格式是PE(如果您想说是EXE,不要搞混了,EXE是扩展名,属于文件名一部分,只是名字后缀,它并是真正格式),PE...
  • Linux的文件系统像Windows用的是文件的扩展名来区分文件的类型,一般Linux区分文件类型是靠文件属性,也就是二进制文件的最开始的4个字符。linux是识别文件头和文件属性来打开一个文件的。你就算把可执行的bin命名...
  • Free UPX 是 UPX 的图形化外壳工具,比纯粹的 UPX 更...UPX 在处理文件的时候要更改文件的名称,在出现上述错误时,查看文件所在目录是否有以 .000 或 .UPX 为扩展名的文件,将其改为原文件扩展名称再次处理就好了。
  • 操作执行完毕之后,倒数第2行: Appending……,在这一行寻找可执行文件的位置。打包成功。 script “路径”not found python 打包错误原因:DOS支持Windows的长文件名,文件名能超过8个字符。 解决方法:可将...
  • 更新时间:2016-01-26本文内容转载自互联网【常见的扩展名】我就略说些经常遇到的,但并不是人人都认识的扩展名:〔*.exe‖可执行文件;直接打开〕〔*.rar‖一种压缩包;用WinRAR打开〕〔*.zip‖一种压缩...
  • Statik ... 这是一个疯狂的主意吗?...以下命令将仅过滤列出的扩展名上的文件。 $ statik -include=*.jpg,*.txt,*.html,*.css,*.js 在您的程序中,您所需要做的就是导入生成的包,初始化新的statik文件
  • 动态链接库文件的扩展名一般是dll,也有可能是drv、sys和fon,它和可执行文件(exe)非常类似,区别在于DLL中虽然包含了可执行代码却能单独执行,而应由Windows应用程序直接或间接调用。 动态链接是相对于静态...
  • 动态链接库文件的扩展名一般是dll,也有可能是drv、sys和fon,它和可执行文件(exe)非常类似,区别在于DLL中虽然包含了可执行代码却能单独执行,而应由Windows应用程序直接或间接调用。  动态链接是相对于...
  • 需要注意的是Linux其实需要一定要写这样的扩展名写系统也能知道是哪个文件,这些后缀名只是给管理员提供识别上的便利,以及便于使用 /etc下主要保存的是系统的管理和配置文件 /bin下保存的主要是可执行文件...
  • 每一个源文件(就是.c文件,上图中的程序1)都有对应的零碎文件(就是.h文件),通过预编译(通过#include实现)把.c和.h文件整合成一个组合C文件,这个组合C文件的扩展名为.i。把组合C文件编译成汇编文件.s,目标...
  • 方法: 在.gitignore文件中写入--方法原理即为:首先忽略所有文件然后将需要push的文件不忽略即可。 #忽略所有文件和目录 * #增加指定目录和下面所有目录 ...#增加指定扩展名文件和MAKEFILE文件 !*.cpp !*.c !*....
  • IIS 能下载 EXE,DLL,BAT等可执行文件

    千次阅读 2009-11-01 16:31:00
    通常方法 设置一下http头--MIME类型,新建一个类型扩展名为EXE,类型为:application/octet-stream2.在Web服务器端修改注册表,[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/InetInfo/Parameters]中...
  • 以 py 扩展名的文件是 Python 源码文件,由 python.exe 解释,在控制台下运行。可用文本编辑器读写。Python中经常使用的文件后缀名:pyc以 pyc 为扩展名的是Python编译文件。其执行速度快于 py 文件能用文本...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,100
精华内容 440
关键字:

不可执行文件的扩展名