Skip to main content

Create a stand-alone Windows distribution of a Python program

Project description

py2win

PyPI CI codecov

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

  1. 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'],
    },
    ...
    )
  1. Run the bdist_windows command
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

py2win-0.4.0.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py2win-0.4.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

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

Hashes for py2win-0.4.0.tar.gz
Algorithm Hash digest
SHA256 6a1fd11e6aa2aaa6b10aebddc12a7a243a34550d23e2228be033890ba3aa20f0
MD5 aa8723200375147609506a7fac28becd
BLAKE2b-256 396080d3aada2e97bfa55aee02d263d4f96d8006cb7847a8bcabcd6ed3d396b1

See more details on using hashes here.

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

Hashes for py2win-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1b9c3db5008e638380ffdcbec78d1916ccfee575fe2aac033352759338c0f37f
MD5 3362c2180f24fcb7a5899efe509b07bf
BLAKE2b-256 439878b5a3a50737a0d7ce760e2e44e2672f430e909891de0fe0b51ba1306e2b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page