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
100
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
90
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
190
Intro to Make
jacebrowning
0
77
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
kiroでゲームを作ってみた
iriikeita
0
150
あまり知られていない MCP 仕様たち / MCP specifications that aren’t widely known
ktr_0731
0
240
Workers を定期実行する方法は一つじゃない
rokuosan
0
140
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
3
950
技術的負債で信頼性が限界だったWordPress運用をShifterで完全復活させた話
rvirus0817
0
720
Constant integer division faster than compiler-generated code
herumi
2
540
PHPUnitの限界をPlaywrightで補完するテストアプローチ
yuzneri
0
390
Terraform やるなら公式スタイルガイドを読もう 〜重要項目 10選〜
hiyanger
12
3k
Android 15以上でPDFのテキスト検索を爆速開発!
tonionagauzzi
0
190
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
1
250
「次に何を学べばいいか分からない」あなたへ──若手エンジニアのための学習地図
panda_program
3
720
WebAssemblyインタプリタを書く ~Component Modelを添えて~
ruccho
1
680
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Invisible Side of Design
smashingmag
301
51k
The Pragmatic Product Professional
lauravandoore
36
6.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Six Lessons from altMBA
skipperchong
28
3.9k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Producing Creativity
orderedlist
PRO
347
40k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.4k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
800
How GitHub (no longer) Works
holman
314
140k
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!