.. class:: bdist_msi
+.. deprecated:: 3.9
+ Use bdist_wheel (wheel packages) instead.
+
Builds a `Windows Installer`_ (.msi) binary package.
.. _Windows Installer: https://msdn.microsoft.com/en-us/library/cc185688(VS.85).aspx
.. note::
bdist_wininst is deprecated since Python 3.8.
+.. note::
+ bdist_msi is deprecated since Python 3.9.
+
The following sections give details on the individual :command:`bdist_\*`
commands.
.. warning::
bdist_wininst is deprecated since Python 3.8.
+.. warning::
+ bdist_msi is deprecated since Python 3.9.
+
Executable installers are the natural format for binary distributions on
Windows. They display a nice graphical user interface, display some information
about the module distribution to be installed taken from the metadata in the
.. note::
bdist_wininst is deprecated since Python 3.8.
+
+.. note::
+ bdist_msi is deprecated since Python 3.9.
Deprecated
==========
+* The distutils ``bdist_msi`` command is now deprecated, use
+ ``bdist_wheel`` (wheel packages) instead.
+ (Contributed by Hugo van Kemenade in :issue:`39586`.)
+
* Currently :func:`math.factorial` accepts :class:`float` instances with
non-negative integer values (like ``5.0``). It raises a :exc:`ValueError`
for non-integral and negative floats. It is now deprecated. In future
Implements the bdist_msi command.
"""
-import sys, os
+import os
+import sys
+import warnings
from distutils.core import Command
from distutils.dir_util import remove_tree
from distutils.sysconfig import get_python_version
'3.5', '3.6', '3.7', '3.8', '3.9']
other_version = 'X'
+ def __init__(self, *args, **kw):
+ super().__init__(*args, **kw)
+ warnings.warn("bdist_msi command is deprecated since Python 3.9, "
+ "use bdist_wheel (wheel packages) instead",
+ DeprecationWarning, 2)
+
def initialize_options(self):
self.bdist_dir = None
self.plat_name = None
"""Tests for distutils.command.bdist_msi."""
import sys
import unittest
-from test.support import run_unittest
+from test.support import run_unittest, check_warnings
from distutils.tests import support
# minimal test XXX need more tests
from distutils.command.bdist_msi import bdist_msi
project_dir, dist = self.create_dist()
- cmd = bdist_msi(dist)
+ with check_warnings(("", DeprecationWarning)):
+ cmd = bdist_msi(dist)
cmd.ensure_finalized()
Brian Kearns
Sebastien Keim
Ryan Kelly
+Hugo van Kemenade
Dan Kenigsberg
Randall Kern
Robert Kern
--- /dev/null
+The distutils ``bdist_msi`` command is deprecated in Python 3.9, use
+``bdist_wheel`` (wheel packages) instead.
\ No newline at end of file