别人怎么用我的Python程序

python

别人怎么用我的Python程序

这里讲的给别人用,不是指将你的代码开源,也不是指给另一个程序员用。比如你写了一个小工具,想给别人用,总不能叫别人也去装python吧。

让别人不装Python环境就可以使用Python编写的程序,可以将Python程序打包.exe可执行程序,然后发给他人。

推荐学习《Python教程》。

Python打包生成.exe文件的工具有:

1、py2exe

使用:

先写一个简单的脚本,文件名:helloworld.py

#!/usr/bin/env python  # -*- coding: utf-8 -*-  

  def say_hello(name):  

    print("Hello, " + name)

  if __name__ == "__main__":  

    name = input("What's your name:")

    say_hello(name)

还需要个用于发布程序的设置脚本:mysetup.py,在其中的 setup 函数前插入语句 import py2exe。

from distutils.core import setupimport py2exe

setup(console=["helloworld.py"])

2、cx_Freeze

使用:cxfreeze main.py --target-dir dist

Usage: cxfreeze [options] [SCRIPT]

Freeze a Python script and all of its referenced modules to a base

executable which can then be distributed without requiring a Python

installation.

Options:

  --version             show program's version number and exit

  -h, --help            show this help message and exit

  -O                    optimize generated bytecode as per PYTHONOPTIMIZE; use

                        -OO in order to remove doc strings

  -c, --compress        compress byte code in zip files

  -s, --silent          suppress all output except warnings and errors

  --base-name=NAME      file on which to base the target file; if the name of

                        the file is not an absolute file name, the

                        subdirectory bases (rooted in the directory in which

                        the freezer is found) will be searched for a file

                        matching the name

  --init-script=NAME    script which will be executed upon startup; if the

                        name of the file is not an absolute file name, the

                        subdirectory initscripts (rooted in the directory in

                        which the cx_Freeze package is found) will be searched

                        for a file matching the name

……

……

……

3、PyInstaller

使用:pyinstaller demo.py

以上是 别人怎么用我的Python程序 的全部内容, 来源链接: utcz.com/z/526957.html

回到顶部