Running Python on Wine

wine, cross, platform, cross-platform, python, python-package
pip install wenv==0.2.1


build_master docs_master build_develop docs_develop license status pypi_version pypi_versions



wenv is a Python package (currently in development status 4/beta). It allows to run Python on top of Wine on Linux, MacOS or BSD. It handles required plumbing related to making Python and a number of Python modules work on Wine. wenv creates isolated virtual environments which can be transparently used from a Unix command line and which seamlessly integrate into Unix Python virtual environments.

About Wine (from winehq.org): Wine (originally an acronym for "Wine Is Not an Emulator") is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, MacOS and BSD. Instead of simulating internal Windows logic like a virtual machine or emulator, Wine translates Windows API calls into POSIX calls on-the-fly, eliminating the performance and memory penalties of other methods and allowing you to cleanly integrate Windows applications into your desktop.

This project is NEITHER associated NOR affiliated in any way or form with the Wine project.


prerequisite version
CPython 3.x (tested with 3.{4,5,6,7,8})
Wine 4.x (tested with regular & staging) - expected to be in the user's PATH

If you are limited to an older version of Wine such as 2.x or 3.x, see wenv's installation instructions for details and workarounds.


branch status installation documentation
master (release) build_master pip install wenv docs_master
develop build_develop pip install git+https://github.com/pleiszenburg/wenv.git@develop docs_develop

After installing the package with pip, you must initialize the "Wine Python environment" by running wenv init.


Fire up a shell and try the following:

(env) user@comp:~> uname
(env) user@comp:~> python -m platform
(env) user@comp:~> wenv python -m platform

wenv pip works just like one would expect. Have a look at the output of wenv help for more commands and information. For use as a shebang, wenv python has an alias: One can write #!/usr/bin/env _wenv_python at the top of scripts.

wenv python can also be used as a Jupyter kernel, side-by-side with a Unix-version of Python. Have a look at the wenv-kernel project.


Just like Wine, wenv can run malicious Windows software on Unix. Never, ever, run wenv with root / super users privileges! For details, check the section on security in the documentation.

Need help?

Feel free to post questions in the GitHub issue tracker of this project.

Bugs & issues

Make sure you have read the chapter on bugs in wenv's documentation.