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
80
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
120
Python Packaging and Distribution
jacebrowning
0
67
Best Practices for Automated Regression Testing
jacebrowning
0
130
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
96
Continuous Deployment: Biography of a Feature Request
jacebrowning
0
95
From Code to Production
jacebrowning
0
96
Other Decks in Programming
See All in Programming
大規模マルチテナントを解決するYugabyteDBという選択肢
nnaka2992
1
250
DMMプラットフォームにおけるTiDBの導入から運用まで
pospome
7
3k
12年前の『型システム入門』翻訳の思い出話
mame
11
1.2k
Polarsの成長: v0.14からv1.0までの変遷と今後の展望
zerebom
1
350
なぜ宣言的 UI は壊れにくいのか / Why declarative UI is less fragile
uenitty
29
13k
I/O Extended Android in Korea 2024 ~ Whats new in Android development tools
pluu
0
250
20240706_CDKConf
takuyay0ne
0
1.2k
CSC307 Lecture 05
javiergs
PRO
0
210
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
380
Exploring the Gradually Lost Technical Skills in the Cloud Native Era
hwchiu
2
3.9k
SDCon2024: Enabling DevOps and Team Topologies thru architecture: architecting for fast flow
cer
PRO
0
780
CSC307 Lecture 11
javiergs
PRO
0
240
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
166
14k
GitHub's CSS Performance
jonrohan
1026
450k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
78
15k
10 Git Anti Patterns You Should be Aware of
lemiorhan
652
58k
The Illustrated Children's Guide to Kubernetes
chrisshort
39
47k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
13
430
Leading Effective Engineering Teams 2024
addyosmani
3
300
The Invisible Side of Design
smashingmag
294
50k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
245
1.2M
How GitHub Uses GitHub to Build GitHub
holman
471
290k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Documentation Writing (for coders)
carmenintech
63
4.2k
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!