Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Standalone Python Programs using PyInstaller
Search
Jace Browning
September 19, 2016
Programming
0
84
Standalone Python Programs using PyInstaller
A talk on Python packaging and PyInstaller given at GRPUG.
Jace Browning
September 19, 2016
Tweet
Share
More Decks by Jace Browning
See All by Jace Browning
HTMX + Django
jacebrowning
0
130
Python Packaging and Distribution
jacebrowning
0
69
Best Practices for Automated Regression Testing
jacebrowning
0
140
Skillet pitch at Startup Weekend
jacebrowning
0
180
Continuous Deployment using GitHub, CircleCI, and Heroku
jacebrowning
0
160
Intro to Make
jacebrowning
0
58
Juicy Slices of Testing
jacebrowning
0
110
Continuous Deployment: Biography of a Feature Request
jacebrowning
0
96
From Code to Production
jacebrowning
0
96
Other Decks in Programming
See All in Programming
Amebaチョイス立ち上げの裏側 ~依存システムとの闘い~
daichi_igarashi
0
230
いつか使える ObjectSpace / Maybe useful ObjectSpace
euglena1215
2
130
connect-go で面倒くささと戦う / 2024-08-27 #newmo_layerx_go
izumin5210
2
630
『ドメイン駆動設計をはじめよう』中核の業務領域
masuda220
PRO
5
960
KSPの導入・移行を前向きに検討しよう!
shxun6934
PRO
0
130
仮想ファイルシステムを導入して開発環境のストレージ課題を解消する
segadevtech
2
500
Ruby Parser progress report 2024
yui_knk
2
220
マルチモジュールにおけるテスト最適化
fxwx23
0
200
実践 Advanced CallKit 〜快適な通話の実現に向けて〜
mot_techtalk
3
120
Go Code Generation at newmo / 2024-08-27 #newmo_layerx_go
genkey6
0
550
Debugging: All you need to know (for simultaneous interpreting)
jmatsu
2
550
The Shape of a Service Object
inem
0
470
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1029
450k
Large-scale JavaScript Application Architecture
addyosmani
508
110k
Typedesign – Prime Four
hannesfritz
39
2.3k
Building Applications with DynamoDB
mza
89
6k
The Mythical Team-Month
searls
218
43k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
Mobile First: as difficult as doing things right
swwweet
221
8.8k
The Invisible Customer
myddelton
119
13k
Rails Girls Zürich Keynote
gr2m
93
13k
Optimizing for Happiness
mojombo
375
69k
The Cult of Friendly URLs
andyhume
76
6k
Transcript
Standalone Programs using PyInstaller @JaceBrowning
Outline • State of Python Packaging • Standalone Distribution •
PyInstaller Overview • Demonstration • Work Time!
Interpreted Languages 101 • Code ◦ Modules ◦ Packages •
Interpreter ◦ CPython aka “Python” ◦ Jython ◦ IronPython
State of Python Packaging
The Pieces • setuptools • wheel • twine • pip
Setup Script
Setup Script https://packaging.python.org/distributing https://github.com/pypa/sampleproject
Distributions • Built distribution ◦ ◦ • Source distribution ◦
Upload • Python Package Index ◦ https://pypi.python.org ◦ https://pypi.io (“warehouse”)
• Upload distributions ◦ ◦
Standalone Distribution
So why do it? • Making work tools accessible •
Sharing projects with non-programmers • It’s fun!
Interpreter Embedding • py2exe and py2app • cx_Freeze • PyInstaller
Transcompilation • Nuitka
PyInstaller
Getting PyInstaller • http://www.pyinstaller.org • In general: ◦
Getting PyInstaller • On OS X: ◦ ◦ ◦ ◦
Getting PyInstaller • On linux: ◦ ◦ ◦ ◦ ◦
◦
Quickstart
Specs • Command: ◦ • https://pyinstaller.readthedocs.io/en/stable/spec-files.html
Specs
Options • •
Options • •
Options • •
Building • Command: ◦ • https://github.com/pyinstaller/pyinstaller/wiki/Supported-Packages
Compression • UPX • 5.8 MB:
Demonstration
None
Now you try!