Create a stand-alone Windows distribution of a Python program
Project description
py2win
Utility to create a stand-alone distribution of a Python program, either a console or GUI program. py2win uses Python embedded distribution and pip to create the stand-alone distribution. Dependencies are therefore installed as they would be with a full Python distribution.
Installation
You need:
- Python >= 3.6
- Microsoft Visual Studio, compatible with your current Python installation
Then simply run:
pip install py2win
How to use
As a command in setup.py
- Define at least one entry point in your
setup.py.
setup(
...
entry_points={
'gui_scripts': ['sample-gui=sample.gui:main'],
'console_scripts': ['sample-console=sample.console:main'],
},
...
)
- Run the
bdist_windowscommand
python setup.py --command-packages py2win bdist_windows
As a separate script to create an embedded distribution
In a separate Python script (e.g. a release.py file in the root directory), you can define the embed process using the EmbedPython class and call the run method.
from py2win.embed import EmbedPython
embed = EmbedPython('sample', '1.2.0')
embed.add_wheel(filepath_to_wheel_of_your_project)
embed.add_requirement('PyQt5')
embed.add_script(module='project.gui', method='main', executable_name='project-gui', console=False)
embed.run(destination_directory)
Release notes
0.4.0
- Fix issue with distribution zip where zip content included extra folders
- Fix issue where compilation files/folders were not removed
0.3.0
- Remove deprecation warning with distutils
0.2.0
- Add support for arguments in console script (PR#1)
- Use pathlib for paths
- Use pytest for tests
- Use black for formatting
0.1.0
- First release
Contributors
License
The library is provided under the MIT license.
Copyright (c) 2017 - , Philippe Pinard
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file py2win-0.4.0.tar.gz.
File metadata
- Download URL: py2win-0.4.0.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a1fd11e6aa2aaa6b10aebddc12a7a243a34550d23e2228be033890ba3aa20f0
|
|
| MD5 |
aa8723200375147609506a7fac28becd
|
|
| BLAKE2b-256 |
396080d3aada2e97bfa55aee02d263d4f96d8006cb7847a8bcabcd6ed3d396b1
|
File details
Details for the file py2win-0.4.0-py3-none-any.whl.
File metadata
- Download URL: py2win-0.4.0-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b9c3db5008e638380ffdcbec78d1916ccfee575fe2aac033352759338c0f37f
|
|
| MD5 |
3362c2180f24fcb7a5899efe509b07bf
|
|
| BLAKE2b-256 |
439878b5a3a50737a0d7ce760e2e44e2672f430e909891de0fe0b51ba1306e2b
|