别人怎么用我的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