bpo-25427: Remove pyvenv (GH-5962)
authorBrett Cannon <brettcannon@users.noreply.github.com>
Fri, 20 Apr 2018 21:15:40 +0000 (14:15 -0700)
committerGitHub <noreply@github.com>
Fri, 20 Apr 2018 21:15:40 +0000 (14:15 -0700)
Doc/installing/index.rst
Doc/library/venv.rst
Doc/whatsnew/3.8.rst
Mac/Makefile.in
Makefile.pre.in
Misc/NEWS.d/next/Tools-Demos/2018-03-02-16-23-31.bpo-25427.1mgMOG.rst [new file with mode: 0644]
Tools/msi/tools/tools_files.wxs
Tools/scripts/pyvenv [deleted file]
setup.py

index f9a224be92b8be8a43dd976d27531aef933879be..9f9f5a070b269e75437170d6fafa0eb03e93574e 100644 (file)
@@ -62,11 +62,6 @@ Key terms
   of the mailing list used to coordinate Python packaging standards
   development).
 
-.. deprecated:: 3.6
-   ``pyvenv`` was the recommended tool for creating virtual environments for
-   Python 3.3 and 3.4, and is `deprecated in Python 3.6
-   <https://docs.python.org/dev/whatsnew/3.6.html#deprecated-features>`_.
-
 .. versionchanged:: 3.5
    The use of ``venv`` is now recommended for creating virtual environments.
 
index 6707be7fc820ddc52e34307323555cebbbe145b3..1fff7bc4bfb22be7be57a3d07b74e590ac5d3378 100644 (file)
@@ -23,10 +23,6 @@ independent set of installed Python packages in its site directories.
 
 See :pep:`405` for more information about Python virtual environments.
 
-.. note::
-   The ``pyvenv`` script has been deprecated as of Python 3.6 in favor of using
-   ``python3 -m venv`` to help prevent any potential confusion as to which
-   Python interpreter a virtual environment will be based on.
 
 
 Creating virtual environments
index 2f42a9f8ba77a1891579e7cec6953f81519fc332..11538e26691c1820ec2531d9c461a2ae65059f05 100644 (file)
@@ -111,6 +111,9 @@ Deprecated
 Removed
 =======
 
+* The ``pyvenv`` script has been removed in favor of ``python3.8 -m venv``
+  to help eliminate confusion as to what Python interpreter the ``pyvenv``
+  script is tied to. (Contributed by Brett Cannon in :issue:`25427`.)
 
 
 Porting to Python 3.8
index 95fd4a2722d51a84791b72c57a4a3e54632a575d..0b32673323a0dc35f600f13b61760069d393a1f5 100644 (file)
@@ -67,7 +67,6 @@ installunixtools:
                        pydoc3 \
                        python3 \
                        python3-config \
-                       pyvenv \
                        ; \
        do \
                rm -f $${fn} ; \
@@ -118,7 +117,6 @@ altinstallunixtools:
                        pydoc$(VERSION) \
                        python$(VERSION) \
                        python$(LDVERSION)-config \
-                       pyvenv-$(VERSION) \
                        ; \
        do \
                rm -f $${fn} ;\
index 3a7324f509638382908455efde22a14052c7fe1a..a363f77e3782bae9b042f05ee6e134b9e9fe174e 100644 (file)
@@ -1217,8 +1217,6 @@ bininstall: altbininstall
        (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3)
        -rm -f $(DESTDIR)$(BINDIR)/2to3
        (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3)
-       -rm -f $(DESTDIR)$(BINDIR)/pyvenv
-       (cd $(DESTDIR)$(BINDIR); $(LN) -s pyvenv-$(VERSION) pyvenv)
        if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \
                rm -f $(DESTDIR)$(BINDIR)/python3-32$(EXE); \
                (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-32$(EXE) python3-32$(EXE)) \
diff --git a/Misc/NEWS.d/next/Tools-Demos/2018-03-02-16-23-31.bpo-25427.1mgMOG.rst b/Misc/NEWS.d/next/Tools-Demos/2018-03-02-16-23-31.bpo-25427.1mgMOG.rst
new file mode 100644 (file)
index 0000000..fe4495e
--- /dev/null
@@ -0,0 +1,3 @@
+Remove the pyvenv script in favor of ``python3 -m venv`` in order to lower
+confusion as to what Python interpreter a virtual environment will be
+created for.
index 9c76b1b44460abc4447e592de83e94938b4565c2..3de6c9291cf676e2027973bb394c24067e15a297 100644 (file)
@@ -8,9 +8,6 @@
             <Component Id="Tools_scripts_pydoc3.py" Directory="Tools_scripts" Guid="*">
                 <File Id="Tools_scripts_pydoc3.py" Name="pydoc3.py" Source="!(bindpath.src)Tools\scripts\pydoc3" />
             </Component>
-            <Component Id="Tools_scripts_pyvenv.py" Directory="Tools_scripts" Guid="*">
-                <File Id="Tools_scripts_pyvenv.py" Name="pyvenv.py" Source="!(bindpath.src)Tools\scripts\pyvenv" />
-            </Component>
         </ComponentGroup>
     </Fragment>
     <Fragment>
diff --git a/Tools/scripts/pyvenv b/Tools/scripts/pyvenv
deleted file mode 100755 (executable)
index 1fb42c6..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/env python3
-if __name__ == '__main__':
-    import sys
-    import pathlib
-
-    executable = pathlib.Path(sys.executable or 'python3').name
-    print('WARNING: the pyenv script is deprecated in favour of '
-          f'`{executable} -m venv`', file=sys.stderr)
-
-    rc = 1
-    try:
-        import venv
-        venv.main()
-        rc = 0
-    except Exception as e:
-        print('Error: %s' % e, file=sys.stderr)
-    sys.exit(rc)
index 8536c350fe3a103189d5d02aac5533d20a5f40d8..170ade81c4f80a9e1893f7212cf3349a2c58919b 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -2291,7 +2291,7 @@ class PyBuildScripts(build_scripts):
         newoutfiles = []
         newupdated_files = []
         for filename in outfiles:
-            if filename.endswith(('2to3', 'pyvenv')):
+            if filename.endswith('2to3'):
                 newfilename = filename + fullversion
             else:
                 newfilename = filename + minoronly
@@ -2359,7 +2359,7 @@ def main():
           # check the PyBuildScripts command above, and change the links
           # created by the bininstall target in Makefile.pre.in
           scripts = ["Tools/scripts/pydoc3", "Tools/scripts/idle3",
-                     "Tools/scripts/2to3", "Tools/scripts/pyvenv"]
+                     "Tools/scripts/2to3"]
         )
 
 # --install-platlib