pyinstaller setuptools集成

subzero的Python项目详细描述


Codacy Badgebuild statusCodecov

零下是什么?

SubZero的目标是允许简单快速地部署 frozen python应用程序只需最少的额外工作和开发人员时间。 与其他解决方案相比,Subzero的理念是 工作应用程序,快速比优化大小更重要 或其他因素,以及产生最终产品的因素(无论是MSI,还是 其他安装程序)只需几分钟即可安装。零下 建立在其他项目的广泛开发工作的基础上,而不是 重新发明轮子。更确切地说,它把所有的事情都联系在一起 直觉的方式。

我怎么用?

在您的设置文件中,将默认设置导入替换为以下内容:

fromsubzeroimportsetup,Executable

然后运行以下命令:

python setup.py bdist_msi

subzero将生成在entry_pointsscripts节,然后创建一个包含 可执行文件。

示例

setup(name='Name',author='Author',packages=find_packages(),version=versioneer.get_version(),cmdclass=versioneer.get_cmdclass(),install_requires=['paramiko',],entry_points={'gui_scripts':[Executable('gui = app.__main__:gui',icon_file='Icon.ico'),],'console_scripts':['console = app.__main__:console',],},options={'build_exe':{'pathex':[os.path.join(os.path.dirname(PyQt5.__file__),'Qt','bin')],'datas':[datafile,'.')],},'bdist_msi':{'upgrade_code':'84b31ed7-3985-46ad-9d07-eb4140a6d44a','shortcuts':['My Program = gui'],'wix_template_dir':os.path.abspath('./wix_templates'),}})

选项首先从传递给的选项字典全局应用 setup,如果Executable类是 为特定的entry_pointscript呈现。

pyinstaller中提供了build_exe的完整选项数组 文档。强烈建议为 bdist_msi命令。许可协议将添加到 安装程序(如果在与 安装程序.py。

扩展导入发现(beta版)

如果pyinstaller无法发现所有依赖项,则可以 设置optimize_imports=False,如下所示。此选项可能会发现 以前未找到的某些导入,但它也可能使 应用程序更大。请注意,您必须在 install_requires此选项有效!

'build_exe':{'optimize_imports':False},

cython

也可以构建cython模块,因为subzero执行内置 build调用pyinstaller之前的命令。只需将模块添加到 ext_modules键:

fromsetuptoolsimportfind_packages,Extensionfromsubzeroimportsetupsetup(name='hello_world',ext_modules=[Extension('my_module',sources=['my_module.pyx'],)])

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用字符而不是字符串的意义   部分匹配长度字符串相似性的java正则表达式   java获取构造函数错误(错误:“(”或“[”)   java@Value注释无法正常工作SpringBoot   java hasKey在响应中没有看到字段   java JavaFX,没有JFXButtons和所有   在Log4j2中,是否可以根据键从记录器中筛选出某些键值对?   如何使用Java中Kafka的消息,从特定偏移量开始   java在单击后存储动态按钮的值   java Android编码:ViewRootImpl$CalledFromErrorThreadException。[Noob]   通过FileChooser保存pdf格式会提示在java中出现第二个对话框   用于空文件的java Spring集成文件标记   java我们应该如何编写get方法,以便私有字段不会超出其预期范围?   java Eclipse产品问题,Juno RequireHandle:org。日食e4。果心服务