python发布打包
A. 如何发布python程序
如何发布一个Python程序:
1、安装一个pyInstaller
在pycharm里点 file—–>setting—–>Project workspace——>Interpreter——>点pip右边的+号,进入下面这个界面:
搜索pyInstaller, 点击左下方Install package安装(出现错误了可以多安装几次)
(或者在命令提示符界面 用 pip install pyinstaller命令安装)
2、将.py文件打包成.exe文件
在完成第一步的安装后,就开始我们的打包。在打包之前可以先运行一下你要打包的.py文件是否可以运行,然后进行打包。
在pycharm中右键点击你将要打包的文件,找到Open in terminal点一下。
在下面出现的Local框内输入命令:pyinstaller -F 文件名,运行。
然后进行打包
打包完成后,稍等一下会刷新出一个dist文件夹, 点击 ,在里面有一个 .exe文件,右键,点击里面的 Show in Explore 找到一个.exe文件(如果不一样的可以看一下你下面打包成功后出现的路径。)
3、发送
将打包好的.exe文件拉到你之前.py文件所在的文件夹,将所有需要的素材一起发送。
别人收到后就能打开你的.exe文件运行你的程序。
众多python培训视频,尽在python学习网,欢迎在线学习!
B. 如何将python开发的程序打包发布
1、下载并安装py2exe,可下载最新版本。
2、编写安装脚本,比较简单,不过多解释,如下:
Screenshot_setup.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from distutils.core import setup
import py2exe
includes = ["encodings", "encodings.*"]
data_files = ['CameraDll.dll']
options = {"py2exe":
{ "compressed": 1,
"optimize": 2,
"bundle_files": 1,
"includes": includes
}
}
setup(
version = "1.0",
description = "Screenshot Tool",
name = "Screenshot Tool",
options = options,
zipfile=None,
data_files = data_files,
console=[{"script": "Screenshot.py", "icon_resources": [(1, "Screenshot.ico")] }]
)
各参数含义见第5小节或执行python命令行下执行help(py2exe)查看。
3、打包程序:
a、将要找包的程序、文件和打包脚本放在同一目录下,如下:
E:\tmp\pyexe_tmp>tree /F
文件夹 PATH 列表
卷序列号码为 0007F240 101F:F68D
E:.
CameraDll.dll
screenshot.ico
Screenshot.py
screenshot_setup.py
没有子文件夹
E:\tmp\pyexe_tmp>
b、执行打包脚本:
E:\tmp\pyexe_tmp>python screenshot_setup.py py2exe
python screenshot_setup.py py2exe
running py2exe
creating E:\tmp\pyexe_tmp\build
creating E:\tmp\pyexe_tmp\build\bdist.win32
creating E:\tmp\pyexe_tmp\build\bdist.win32\winexe
creating E:\tmp\pyexe_tmp\build\bdist.win32\winexe\collect-2.6
creating E:\tmp\pyexe_tmp\build\bdist.win32\winexe\bundle-2.6
creating E:\tmp\pyexe_tmp\build\bdist.win32\winexe\temp
creating E:\tmp\pyexe_tmp\dist
*** searching for required moles ***
*** parsing results ***
*** finding dlls needed ***
*** create binaries ***
*** byte compile python files ***
writing byte-compilation script 'e:\tmp\tmp1ecbcw.py'
C. 如何打包python文件
最近写了一个小小的程序,需要进行封装exe,为了简单,就直接用了pyinstaller这个模块,对于python3.6版本的童鞋来说,简直方便的不要。下面就给大家介绍一下如何用pyinstaller去封装程序为exe程序。
首先,需要安装一下pip这个应用,这个已经在前面的文章中说过了,windows和linux都有请借鉴windows和linux。
第二步,安装好pip之后,在cmd命令窗口中输入pip install pyinstaller即能安装上pyinstaller,那么接下来要介绍一下关于pyinstaller几个指令了:
-w指令
直接发布的exe应用带命令行调试窗口,在指令内加入-w命令可以屏蔽;
-F指令
注意指令区分大小写。这里是大写。使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹;
-p指令
这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。这里可以自己添加路径。不过经过笔者测试,site-packages目录下都是可以被识别的,不需要再手动添加。
那么通常是使用-F指令,使用的语法是:pyinstaller -F (python程序名称).py
D. 开发了一个python项目怎么打包
可以用pyinstaller打包成可执行文件。
E. 如何将一整个python工程打包
按照习惯,我们使用pip来安装模块。我们一直以来强调,要用最偷懒的方法。写代码的人尤其如此。人生苦短,你要偷懒~
2Python | 如何用pip安装模块和包
2
虽然部分第三方模块有独立的exe安装包,不过使用pip安装的另一个好处是,pip会自动安装这个第三方包需要的依赖模块(比如,这里帮我们下载了pypiwin32这个依赖)。这不,又省心不少。
3
安装完成后,我们可以在如下路径找到Pyinstaller应用程序。
跟pip在同一个目录
END
发布命令介绍
1
有两种方法调用发布流程:
①直接使用Pyinstaller应用程序调用待发布脚本
②用Python调用pyinstaller-script脚本再调用待发布脚本
两种方法用起来没什么差别,方法①少个步骤,就用方法①了咯
2
-w指令
直接发布的exe应用带命令行调试窗口,在指令内加入-w命令可以屏蔽
3
-F指令
注意指令区分大小写。这里是大写。使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹
4
-p指令
这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。这里可以自己添加路径。不过经过笔者测试,site-packages目录下都是可以被识别的,不需要再手动添加
END
发布和发布路径
使用下面的完整发布命令发布独立exe应用
发布文件的路径为默认的命令行窗口路径下
F. python怎么把软件打包出来
Python是纯粹的自由软件,具有丰富和强大的库。能够把用其他语言制作的各种模块很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写
如何将python程序打包为exe
但是由于Python是一种解释性语言,不具有Windows可执行程序的已编译完成的二进制特性,所以要执行一个Python脚本,需要使用Python.exe来进行解释执行,如果要单独使得Python脚本具有exe程序的特性,需要使用第三方工具,即将Python脚本打包转换,此处以py2exe工具来进行说明
如何将python程序打包为exe
py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序。py2exe需要到相关网站去下载安装,需要注意的是安装时一定要对应你的系统已安装的Python版本
如何将python程序打包为exe
具体用法为,假设有一个helloworld.py的python脚本,把其转换为独立运行的exe程序,并运行在没有安装python的windows系统上。那么首先要做的是写一个用于发布程序的设置脚本例如mysetup.py,在其中的setup函数前插入语句import py2exe
如何将python程序打包为exe
示例脚本:#mysetup.py
from distutils.core import setup
import py2exe
setup(console=["helloworld.py"])
然后在命令行中执行如下语句:
python mysetup.py py2exe
如何将python程序打包为exe
以上命令执行完成后,会产生一个名为dist的子目录,其中包含了helloworld.exe,python24.dll,library.zip这些文件。具体发布时要将这个目录中的文件一起打包发布,在没有安装Python的Windows系统中直接运行helloworld.exe即可
如何将python程序打包为exe
7
以上的mysetup.py脚本创建了一个控制台的helloword.exe程序,如果需要创建图形用户界面的程序,只需要将mysetup.py中的console=["helloworld.py"]替换为windows=["myscript.py"]既可;另外需要注意的是,py2exe一次能够创建多个exe文件,仅需要将这些脚本文件的列表传递给console或windows的关键字参数
G. 怎么把 python 打包成 exe 可执行文件
Python是一个脚本语言,被解释器解释执行。它的发布方式:
.py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各种库。(Python官方的各种安装包就是这样做的)
.pyc文件:有些公司或个人因为机密或者各种原因,不愿意源码被运行者看到,可以使用pyc文件发布,pyc文件是Python解释器可以识别的二进制码,故发布后也是跨平台的,需要使用者安装相应版本的Python和依赖库。
可执行文件:对于非码农用户或者一些小白用户,你让他装个Python同时还要折腾一堆依赖库,那简直是个灾难。对于此类用户,最简单的方式就是提供一个可执行文件,只需要把用法告诉Ta即可。比较麻烦的是需要针对不同平台需要打包不同的可执行文件(Windows,Linux,Mac,...)。
本文主要就是介绍最后一种方式,.py和.pyc都比较简单,Python本身就可以搞定。将Python脚本打包成可执行文件有多种方式,本文重点介绍PyInstaller,其它仅作比较和参考。
Freezing Your Code
各种打包工具的对比如下(来自文章Freezing Your Code):
Solution
Windows
Linux
OS X
Python 3
License
One-file mode
Zipfile import
Eggs
pkg_resources support
bbFreeze yes yes yes no MIT no yes yes yes
py2exe yes no no yes MIT yes yes no no
pyInstaller yes yes yes no GPL yes no yes no
cx_Freeze yes yes yes yes PSF no yes yes no
py2app no no yes yes MIT no yes yes yes
PS.其中pyInstaller和cx_Freeze都是不错的,stackoverflow上也有人建议用cx_Freeze,说是更便捷些。pkg_resources新版的pyInstaller貌似是支持的。
安装PyInstaller
对于那些网络比较稳定,能够流畅使用pip源地址的用户,直接下面的命令就可以搞定:
pip install pyinstaller
通常我们会下载源码包,然后进入包目录,执行下面的命令(需要安装setuptools):
python setup.py install
安装完后,检查安装成功与否:
pyinstaller --version
安装成功后,就可以使用下面的命令了:
pyinstaller : 打包可执行文件的主要命令,详细用法下面会介绍。
pyi-archive_viewer : 查看可执行包里面的文件列表。
pyi-bindepend : 查看可执行文件依赖的动态库(.so或.dll文件)
pyi-... : 等等。
使用PyInstaller
pyinstaller的语法:
pyinstaller [options] script [script ...] | specfile
最简单的用法,在和myscript.py同目录下执行命令:
pyinstaller mycript.py
然后会看到新增加了两个目录build和dist,dist下面的文件就是可以发布的可执行文件,对于上面的命令你会发现dist目录下面有一堆文件,各种都动态库文件和myscrip可执行文件。有时这样感觉比较麻烦,需要打包dist下面的所有东西才能发布,万一丢掉一个动态库就无法运行了,好在pyInstaller支持单文件模式,只需要执行:
pyinstaller -F mycript.py
你会发现dist下面只有一个可执行文件,这个单文件就可以发布了,可以运行在你正在使用的操作系统类似的系统的下面。
当然,pyinstaller还有各种选项,有通用选项,如-d选项用于debug,了解pyInstaller执行的过程;还有一些针对不同平台的选项,具体用法可以访问PyInstaller官方WIKI。
在执行pyInstaller命令的时候,会在和脚本相同目录下,生成一个.spec文件,该文件会告诉pyinstaller如何处理你的所有脚本,同时包含了命令选项。一般我们不用去理会这个文件,若需要打包数据文件,或者给打包的二进制增加一些Python的运行时选项时...一些高级打包选项时,需要手动编辑.spec文件。可以使用:
pyi-makespec options script [script ...]
创建一个.spec文件,对于手动编辑的.spec文件,我们可以使用下面任意一条命令:
pyinstaller specfile
pyi-build specfile
PyInstaller的原理简介
PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,和编译成真正的机器码完全是两回事,所以千万不要指望成打包成一个可执行文件会提高运行效率,相反可能会降低运行效率,好处就是在运行者的机器上不用安装python和你的脚本依赖的库。在Linux操作系统下,它主要用的binutil工具包里面的ldd和objmp命令。
PyInstaller输入你指定的的脚本,首先分析脚本所依赖的其他脚本,然后去查找,复制,把所有相关的脚本收集起来,包括Python解析器,然后把这些文件放在一个目录下,或者打包进一个可执行文件里面。
可以直接发布输出的整个文件夹里面的文件,或者生成的可执行文件。你只需要告诉用户,你的应用App是自我包含的,不需要安装其他包,或某个版本的Python,就可以直接运行了。
需要注意的是,PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下。也就是说,不具备可移植性,若需要在不同系统上运行,就必须针对该平台进行打包。
H. 如何将自己的Python代码打包发布到pypi上
什么是pypi
简单的说pypi是一个python包的仓库,里面有很多别人写好的python库,你可以通过easy_install或者pip进行安装,方便用户更方面的使用你的代码模块。
将代码打包并上传到pypi上,大体上分为以下几步:
1、整理代码的目录结构,方便打包和python的import,为了方便引用,需要将代码模块变成一个包,所以需要将功能代码用目录来整合方便引用,并且需要创建__init__文件,__init__中可以没有内容,也可以在__init__文件中进行import(from .extractor import Document)操作,以减少整体模块引用时import的层数,避免错误。
[html]viewplain
├──./tidypage
│├──./tidypage/cleaners.py
│├──./tidypage/extractor.py
│├──./tidypage/__init__.py
│└──./tidypage/titles.py
2、功能模块的目录整理好后,就可以开始整理和添加发布到pypi上所使用的文件了
tidy_page
├──LICENSE
├──README.rst
├──requirements.txt
├──setup.py
├──tidypage
│├──cleaners.py
│├──extractor.py
│├──__init__.py
│└──titles.py
就是将原来的目录深移一层,文件夹名称可以根据自己意愿。然后在到第一层的目录下创建些特殊文件,具体你可以看看下面这个文件结构你就明白了
LICENSE文件是授权文件,比如:MIT license, APACHElicense
README.rst 文件想必大家都不陌生,其实就是项目介绍和使用说明
setup文件才是重点,是python模块安装所需要的文件,它的格式如下:
#!/usr/bin/envpython
from__future__importprint_function
fromsetuptoolsimportsetup,find_packages
importsys
setup(
name="tidy-page",
version="0.1.1",
author="DesionWang",
author_email="[email protected]",
description="htmltextparser,getthecontentformhtmlpage",
long_description=open("README.rst").read(),
license="MIT",
url="https://github.com/desion/tidy_page",
packages=['tidypage'],
install_requires=[
"beautifulsoup4",
lxml_requirement
],
classifiers=[
"Environment::WebEnvironment",
"IntendedAudience::Developers",
"OperatingSystem::OSIndependent",
"Topic::TextProcessing::Indexing",
"Topic::Utilities",
"Topic::Internet",
"Topic::SoftwareDevelopment::Libraries::PythonMoles",
"ProgrammingLanguage::Python",
"ProgrammingLanguage::Python::2",
"ProgrammingLanguage::Python::2.6",
"ProgrammingLanguage::Python::2.7",
],
)
- NAME名字,一般放你包的名字即可PACKAGES包含的包,可以多个,这是一个列表DESCRIPTION关于这个包的描述LONG_DESCRIPTION参见read方法说明KEYWORDS关于当前包的一些关键字,方便PyPI进行分类。AUTHOR谁是这个包的作者,写谁的名字吧AUTHOR_EMAIL作者的邮件地址URL你这个包的项目地址,如果有,给一个吧,没有你直接填写在PyPI你这个包的地址也是可以的VERSION当前包的版本,这个按你自己需要的版本控制方式来LICENSE授权方式INSTALL_REQUIRES模块所依赖的python模块
输出一般是running check如果有错误或者警告,就会在此之后显示没有任何显示表示Distutils认可你这个setup.py文件。
如果没有问题,那么就可以正式打包,执行下面的代码:
python setup.py sdist
执行完成后,会在顶层目录下生成dist目录和egg目录
文中的classifiers的内容并不是随便填写的,你需要参照本文参考文档中的PyPI Classifiers来写
3、开始使用Distutils进行打包
为了保证效果,在打包之前我们可以验证setup.py的正确性,执行下面的代码
python setup.py check
tidy_page
├──tidy_page/dist
│├──tidy_page/dist/tidy-page-0.1.0.tar.gz
│└──tidy_page/dist/tidy-page-0.1.1.tar.gz
├──tidy_page/LICENSE
├──tidy_page/README.rst
├──tidy_page/setup.py
├──tidy_page/tidypage
│├──tidy_page/tidypage/cleaners.py
│├──tidy_page/tidypage/extractor.py
│├──tidy_page/tidypage/__init__.py
│└──tidy_page/tidypage/titles.py
├──tidy_page/tidy_page.egg-info
│├──tidy_page/tidy_page.egg-info/dependency_links.txt
│├──tidy_page/tidy_page.egg-info/PKG-INFO
│├──tidy_page/tidy_page.egg-info/requires.txt
│├──tidy_page/tidy_page.egg-info/SOURCES.txt
│└──tidy_page/tidy_page.egg-info/top_level.txt
[distutils]index-servers=pypi[pypi]repository=https://pypi.python.org/pypiusername=your_usernamepassword=your_passwor
4、打包完成后就可以准备将打包好的模块上传到pypi了,首先你需要在pypi上进行注册gotoPyPI Live
注册完成后,你需要在本地创建好pypi的配置文件,不然有可能会出现使用http无法上传到pypi的问题
Create a.pypircconfiguration file,在用户的home目录下创建.pypirc文件,文件的内容如下
chmod600~/.pypirc
pythonsetup.pyregister-rpypi
python setup.py sdist upload -r pypi
在pypi上注册模块
上传python文件包,没有问题你就可以在pypi上看到你上传的包了并且可以使用pip搜索和install你的python包了
I. 怎么把python打包成一个程序
一、安装pyinsatller打开命令行窗口,输入如下指令
pip3 install pyinstaller
然后静待pyinstaller自动安装好
二、使用pyinstaller打包Python程序
在你的Python程序文件夹上(不点进去)按住shift并且右键,在弹出的选项中点击"在此处打开命令行窗口"或者“在此处打开PowerShell窗口”或者先进入命令行窗口,然后使用cd指令进入程序文件夹,示例:
cd G:\工程储存\Python工程\love
输入以下指令,开始打包
pyinstaller -F -w (-i icofile) filename
filename表示你的Python程序文件名
-w 表示隐藏程序运行时的命令行窗口(不加-w会有黑色窗口)
括号内的为可选参数,-i icofile表示给程序加上图标,图标必须为.ico格式icofile表示图标的位置,建议直接放在程序文件夹里面,这样子打包的时候直接写文件名就好输入完成,按回车,就会开始自动打包了,
第一次打包过程可能比较缓慢输入
示例:pyinstaller -F -w -i favicon love.py
然后我们进入到程序目录里面会再看到一个名称为dist目录,打包好的exe程序就在里面
J. python使用br打包发布apk
如下;
py如果没有Qt \ bin,您可以复制本文件Qt网站。如果找不到现有PyQt5插件目录的错误出现在包装过程中,然后,1)找到PyQt5文件夹/图书馆/插件路径下蟒蛇目录下安装,并复制内容;2)按照下面的错误报告一个句子,例如,如下:路径检查:_build /图书馆/插件的内部去C驱动和创建它们。最后,将刚才复制的复制进去,然后再做一次,包成功。特别注意:如果你发现你可以在你的电脑打开它的包装完成后,但你不能打开它在别人的电脑,错误报告如下:xxx未能执行脚本。在这个时候,我们需要替换上面的命令在步骤4 w c,然后删除所有的东西都打包和重新包装。c程序可以打开终端窗口cmd的形式,这样操作失败时,将一个特定的错误报告,具体的错误将被修改。