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
110
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
160
Python Packaging and Distribution
jacebrowning
0
93
Best Practices for Automated Regression Testing
jacebrowning
0
150
Skillet pitch at Startup Weekend
jacebrowning
0
200
Continuous Deployment using GitHub, CircleCI, and Heroku
jacebrowning
0
200
Intro to Make
jacebrowning
0
80
Juicy Slices of Testing
jacebrowning
0
130
Continuous Deployment: Biography of a Feature Request
jacebrowning
0
120
From Code to Production
jacebrowning
0
100
Other Decks in Programming
See All in Programming
チーム開発の “地ならし"
konifar
8
5.6k
Patterns of Patterns (and why we need them)
denyspoltorak
0
100
例外処理を理解して、設計段階からエラーを見つけやすく、起こりにくく #phpconfuk
kajitack
12
6.3k
カンファレンス遠征を(安く)楽しむ技術
wp_daisuke
0
180
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.2k
物流DXを支える“意味”の設計:セマンティックレイヤーとAIで挑むデータ基盤/登壇資料(飯塚 大地)
hacobu
PRO
0
100
オフライン対応!Flutterアプリに全文検索エンジンを実装する @FlutterKaigi2025
itsmedreamwalker
2
220
『実践MLOps』から学ぶ DevOps for ML
nsakki55
2
450
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
20
11k
Reactive Thinking with Signals and the new Resource API
manfredsteyer
PRO
0
110
関数の挙動書き換える
takatofukui
4
730
CSC509 Lecture 11
javiergs
PRO
0
310
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
760
GitHub's CSS Performance
jonrohan
1032
470k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
A better future with KSS
kneath
239
18k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Faster Mobile Websites
deanohume
310
31k
Side Projects
sachag
455
43k
Site-Speed That Sticks
csswizardry
13
970
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
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!