You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by tv...@apache.org on 2022/07/26 17:00:48 UTC

[beam] branch revert-21968-replace-distutils created (now 8ac2214a555)

This is an automated email from the ASF dual-hosted git repository.

tvalentyn pushed a change to branch revert-21968-replace-distutils
in repository https://gitbox.apache.org/repos/asf/beam.git


      at 8ac2214a555 Revert "Replace distutils with supported modules. (#21968)"

This branch includes the following new commits:

     new 8ac2214a555 Revert "Replace distutils with supported modules. (#21968)"

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[beam] 01/01: Revert "Replace distutils with supported modules. (#21968)"

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvalentyn pushed a commit to branch revert-21968-replace-distutils
in repository https://gitbox.apache.org/repos/asf/beam.git

commit 8ac2214a555e90a0c2343e34c7a38e3b71b25283
Author: tvalentyn <tv...@users.noreply.github.com>
AuthorDate: Tue Jul 26 10:00:43 2022 -0700

    Revert "Replace distutils with supported modules. (#21968)"
    
    This reverts commit 485f9afe675a694857441dadd44e395f682dbc1f.
---
 .github/workflows/build_wheels.yml                           |  2 +-
 .../apache/beam/sdk/extensions/python/bootstrap_beam_venv.py |  6 +++---
 sdks/python/apache_beam/examples/complete/juliaset/setup.py  |  2 +-
 sdks/python/apache_beam/runners/portability/stager.py        |  4 ++--
 sdks/python/container/Dockerfile                             |  2 --
 sdks/python/setup.py                                         | 12 ++++--------
 .../en/documentation/sdks/python-pipeline-dependencies.md    |  2 +-
 7 files changed, 12 insertions(+), 18 deletions(-)

diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml
index 520b97bcd9f..f2066b14e18 100644
--- a/.github/workflows/build_wheels.yml
+++ b/.github/workflows/build_wheels.yml
@@ -240,7 +240,7 @@ jobs:
       working-directory: apache-beam-source
       env:
         CIBW_BUILD: ${{ matrix.os_python.python }}
-        CIBW_BEFORE_BUILD: pip install cython && pip install --upgrade setuptools
+        CIBW_BEFORE_BUILD: pip install cython
       run: cibuildwheel --print-build-identifiers && cibuildwheel --output-dir wheelhouse
       shell: bash
     - name: install sha512sum on MacOS
diff --git a/sdks/java/extensions/python/src/main/resources/org/apache/beam/sdk/extensions/python/bootstrap_beam_venv.py b/sdks/java/extensions/python/src/main/resources/org/apache/beam/sdk/extensions/python/bootstrap_beam_venv.py
index cff15a97aac..cb5870adb66 100644
--- a/sdks/java/extensions/python/src/main/resources/org/apache/beam/sdk/extensions/python/bootstrap_beam_venv.py
+++ b/sdks/java/extensions/python/src/main/resources/org/apache/beam/sdk/extensions/python/bootstrap_beam_venv.py
@@ -24,13 +24,13 @@ suitable python executable.
 """
 
 import argparse
+import distutils.version
 import hashlib
 import json
 import os
 import shutil
 import subprocess
 import sys
-from pkg_resources import parse_version
 
 
 def main():
@@ -66,9 +66,9 @@ def main():
 
         def maybe_strict_version(s):
             try:
-                return parse_version(s)
+                return distutils.version.StrictVersion(s)
             except:
-                return parse_version('0.0')
+                return distutils.version.StrictVersion('0.0')
 
         beam_version = max(info['releases'], key=maybe_strict_version)
         beam_package = 'apache_beam[gcp,aws,asure,dataframe]==' + beam_version
diff --git a/sdks/python/apache_beam/examples/complete/juliaset/setup.py b/sdks/python/apache_beam/examples/complete/juliaset/setup.py
index b65eb15a3f2..c4dcbe12113 100644
--- a/sdks/python/apache_beam/examples/complete/juliaset/setup.py
+++ b/sdks/python/apache_beam/examples/complete/juliaset/setup.py
@@ -28,9 +28,9 @@ when running the workflow for remote execution.
 # pytype: skip-file
 
 import subprocess
+from distutils.command.build import build as _build  # type: ignore
 
 import setuptools
-from setuptools.command.build import build as _build  # type: ignore
 
 
 # This class handles the pip install mechanism.
diff --git a/sdks/python/apache_beam/runners/portability/stager.py b/sdks/python/apache_beam/runners/portability/stager.py
index e06c71c917d..743beb490ed 100644
--- a/sdks/python/apache_beam/runners/portability/stager.py
+++ b/sdks/python/apache_beam/runners/portability/stager.py
@@ -54,6 +54,7 @@ import os
 import shutil
 import sys
 import tempfile
+from distutils.version import StrictVersion
 from typing import Callable
 from typing import List
 from typing import Optional
@@ -61,7 +62,6 @@ from typing import Tuple
 from urllib.parse import urlparse
 
 import pkg_resources
-from pkg_resources import parse_version
 
 from apache_beam.internal import pickler
 from apache_beam.internal.http_client import get_new_http
@@ -698,7 +698,7 @@ class Stager(object):
     # addressed, download wheel based on glibc version in Beam's Python
     # Base image
     pip_version = pkg_resources.get_distribution('pip').version
-    if parse_version(pip_version) >= parse_version('19.3'):
+    if StrictVersion(pip_version) >= StrictVersion('19.3'):
       return 'manylinux2014_x86_64'
     else:
       return 'manylinux2010_x86_64'
diff --git a/sdks/python/container/Dockerfile b/sdks/python/container/Dockerfile
index a301db74ee0..b40eac647b4 100644
--- a/sdks/python/container/Dockerfile
+++ b/sdks/python/container/Dockerfile
@@ -48,8 +48,6 @@ RUN \
     rm -rf /root/.cache/pip && \
     rm -rf /tmp/base_image_requirements.txt
 
-RUN pip install --upgrade pip setuptools
-
 # Install Google Cloud SDK.
 ENV CLOUDSDK_CORE_DISABLE_PROMPTS yes
 ENV PATH $PATH:/usr/local/gcloud/google-cloud-sdk/bin
diff --git a/sdks/python/setup.py b/sdks/python/setup.py
index 56d2573620a..ef8f73a0477 100644
--- a/sdks/python/setup.py
+++ b/sdks/python/setup.py
@@ -20,6 +20,8 @@
 import os
 import sys
 import warnings
+from distutils.errors import DistutilsError
+from distutils.version import StrictVersion
 from pathlib import Path
 
 # Pylint and isort disagree here.
@@ -28,15 +30,9 @@ import setuptools
 from pkg_resources import DistributionNotFound
 from pkg_resources import get_distribution
 from pkg_resources import normalize_path
-from pkg_resources import parse_version
 from pkg_resources import to_filename
 from setuptools import Command
 
-# It is recommended to import setuptools prior to importing distutils to avoid
-# using legacy behavior from distutils.
-# https://setuptools.readthedocs.io/en/latest/history.html#v48-0-0
-from distutils.errors import DistutilsError # pylint: disable=wrong-import-order
-
 
 class mypy(Command):
   user_options = []
@@ -96,7 +92,7 @@ different technologies and user communities.
 
 REQUIRED_PIP_VERSION = '7.0.0'
 _PIP_VERSION = get_distribution('pip').version
-if parse_version(_PIP_VERSION) < parse_version(REQUIRED_PIP_VERSION):
+if StrictVersion(_PIP_VERSION) < StrictVersion(REQUIRED_PIP_VERSION):
   warnings.warn(
       "You are using version {0} of pip. " \
       "However, version {1} is recommended.".format(
@@ -107,7 +103,7 @@ if parse_version(_PIP_VERSION) < parse_version(REQUIRED_PIP_VERSION):
 REQUIRED_CYTHON_VERSION = '0.28.1'
 try:
   _CYTHON_VERSION = get_distribution('cython').version
-  if parse_version(_CYTHON_VERSION) < parse_version(REQUIRED_CYTHON_VERSION):
+  if StrictVersion(_CYTHON_VERSION) < StrictVersion(REQUIRED_CYTHON_VERSION):
     warnings.warn(
         "You are using version {0} of cython. " \
         "However, version {1} is recommended.".format(
diff --git a/website/www/site/content/en/documentation/sdks/python-pipeline-dependencies.md b/website/www/site/content/en/documentation/sdks/python-pipeline-dependencies.md
index bf2e44e5586..ca91194c533 100644
--- a/website/www/site/content/en/documentation/sdks/python-pipeline-dependencies.md
+++ b/website/www/site/content/en/documentation/sdks/python-pipeline-dependencies.md
@@ -77,7 +77,7 @@ If your pipeline uses packages that are not available publicly (e.g. packages th
 
         python setup.py sdist
 
-   See the [sdist documentation](https://docs.python.org/3/distutils/sourcedist.html) for more details on this command.
+   See the [sdist documentation](https://docs.python.org/2/distutils/sourcedist.html) for more details on this command.
 
 ## Multiple File Dependencies