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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

Supported by

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