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
87
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
140
Python Packaging and Distribution
jacebrowning
0
72
Best Practices for Automated Regression Testing
jacebrowning
0
140
Skillet pitch at Startup Weekend
jacebrowning
0
190
Continuous Deployment using GitHub, CircleCI, and Heroku
jacebrowning
0
170
Intro to Make
jacebrowning
0
58
Juicy Slices of Testing
jacebrowning
0
110
Continuous Deployment: Biography of a Feature Request
jacebrowning
0
98
From Code to Production
jacebrowning
0
96
Other Decks in Programming
See All in Programming
CSC509 Lecture 11
javiergs
PRO
0
180
GitHub Actionsのキャッシュと手を挙げることの大切さとそれに必要なこと
satoshi256kbyte
5
430
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.3k
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
120
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
120
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
230
Better Code Design in PHP
afilina
PRO
0
120
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
320
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
220
距離関数を極める! / SESSIONS 2024
gam0022
0
280
役立つログに取り組もう
irof
28
9.6k
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
280
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Building Applications with DynamoDB
mza
90
6.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Building an army of robots
kneath
302
43k
Designing Experiences People Love
moore
138
23k
Statistics for Hackers
jakevdp
796
220k
Building Adaptive Systems
keathley
38
2.3k
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
A better future with KSS
kneath
238
17k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
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!