New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] 'MinimalDistribution' object has no attribute 'set_defaults' #3743
Comments
Initial technical investigation: According to setuptools/setuptools/__init__.py Lines 46 to 47 in ff7ab94
setup() runs, distutils.core.Distribution should be patched to be setuptools.Distribution .
The fact that setuptools/setuptools/monkey.py Lines 86 to 87 in ff7ab94
Apparently the patch successfully runs in setuptools/setuptools/__init__.py Line 247 in ff7ab94
setup is called, it is already undone... Still trying to understand what is happening here and why https://github.com/pypa/setuptools/pull/3674/files could be causing this behavior...
|
I noticed another detail while investigating. If the following change is applied to --- a/setup.py
+++ b/setup.py
@@ -8,7 +8,7 @@ import os
from setuptools import Extension
from setuptools import find_packages
from setuptools import setup
-from setuptools._distutils.core import Command
+from setuptools import Command
# Package meta-data.
AUTHOR = "Gertjan van den Burg" evidence> docker run --rm -it python:3.10 /bin/bash
git clone https://github.com/alan-turing-institute/CleverCSV /tmp/clevercsv
cd /tmp/clevercsv
python3 -m venv .venv
.venv/bin/pip install 'build==0.9.0' 'wheel==0.38.4' 'setuptools==65.6.3'
sed -i 's/from setuptools._distutils.core/from setuptools/g' setup.py
.venv/bin/python -m build --no-isolation * Getting build dependencies for sdist...
running egg_info
creating clevercsv.egg-info
writing clevercsv.egg-info/PKG-INFO
writing dependency_links to clevercsv.egg-info/dependency_links.txt
writing entry points to clevercsv.egg-info/entry_points.txt
writing requirements to clevercsv.egg-info/requires.txt
writing top-level names to clevercsv.egg-info/top_level.txt
writing manifest file 'clevercsv.egg-info/SOURCES.txt'
reading manifest file 'clevercsv.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'requirements.txt'
warning: no files found matching '*' under directory 'bin'
no previously-included directories found matching 'tests/test_integration'
warning: no previously-included files found matching 'Makefile'
warning: no previously-included files found matching '.gitignore'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'make_release.py'
warning: no previously-included files found matching 'cgrep'
warning: no previously-included files found matching 'vgrep'
no previously-included directories found matching 'notes'
no previously-included directories found matching 'auxiliary'
adding license file 'LICENSE'
writing manifest file 'clevercsv.egg-info/SOURCES.txt'
* Building sdist...
running sdist
running egg_info
writing clevercsv.egg-info/PKG-INFO
writing dependency_links to clevercsv.egg-info/dependency_links.txt
writing entry points to clevercsv.egg-info/entry_points.txt
writing requirements to clevercsv.egg-info/requires.txt
writing top-level names to clevercsv.egg-info/top_level.txt
reading manifest file 'clevercsv.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'requirements.txt'
warning: no files found matching '*' under directory 'bin'
no previously-included directories found matching 'tests/test_integration'
warning: no previously-included files found matching 'Makefile'
warning: no previously-included files found matching '.gitignore'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'make_release.py'
warning: no previously-included files found matching 'cgrep'
warning: no previously-included files found matching 'vgrep'
no previously-included directories found matching 'notes'
no previously-included directories found matching 'auxiliary'
adding license file 'LICENSE'
writing manifest file 'clevercsv.egg-info/SOURCES.txt'
running check
creating clevercsv-0.7.4
creating clevercsv-0.7.4/clevercsv
creating clevercsv-0.7.4/clevercsv.egg-info
creating clevercsv-0.7.4/clevercsv/console
creating clevercsv-0.7.4/clevercsv/console/commands
creating clevercsv-0.7.4/man
creating clevercsv-0.7.4/src
creating clevercsv-0.7.4/tests
creating clevercsv-0.7.4/tests/test_unit
copying files to clevercsv-0.7.4...
copying CHANGELOG.md -> clevercsv-0.7.4
copying LICENSE -> clevercsv-0.7.4
copying MANIFEST.in -> clevercsv-0.7.4
copying README.md -> clevercsv-0.7.4
copying pyproject.toml -> clevercsv-0.7.4
copying setup.py -> clevercsv-0.7.4
copying clevercsv/__init__.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/__main__.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/__version__.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/_optional.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/break_ties.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/consistency.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/cparser_util.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/detect.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/detect_pattern.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/detect_type.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/dialect.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/dict_read_write.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/encoding.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/escape.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/exceptions.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/normal_form.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/potential_dialects.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/read.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/utils.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/wrappers.py -> clevercsv-0.7.4/clevercsv
copying clevercsv/write.py -> clevercsv-0.7.4/clevercsv
copying clevercsv.egg-info/PKG-INFO -> clevercsv-0.7.4/clevercsv.egg-info
copying clevercsv.egg-info/SOURCES.txt -> clevercsv-0.7.4/clevercsv.egg-info
copying clevercsv.egg-info/dependency_links.txt -> clevercsv-0.7.4/clevercsv.egg-info
copying clevercsv.egg-info/entry_points.txt -> clevercsv-0.7.4/clevercsv.egg-info
copying clevercsv.egg-info/requires.txt -> clevercsv-0.7.4/clevercsv.egg-info
copying clevercsv.egg-info/top_level.txt -> clevercsv-0.7.4/clevercsv.egg-info
copying clevercsv/console/__init__.py -> clevercsv-0.7.4/clevercsv/console
copying clevercsv/console/application.py -> clevercsv-0.7.4/clevercsv/console
copying clevercsv/console/commands/__init__.py -> clevercsv-0.7.4/clevercsv/console/commands
copying clevercsv/console/commands/_docs.py -> clevercsv-0.7.4/clevercsv/console/commands
copying clevercsv/console/commands/_utils.py -> clevercsv-0.7.4/clevercsv/console/commands
copying clevercsv/console/commands/code.py -> clevercsv-0.7.4/clevercsv/console/commands
copying clevercsv/console/commands/detect.py -> clevercsv-0.7.4/clevercsv/console/commands
copying clevercsv/console/commands/explore.py -> clevercsv-0.7.4/clevercsv/console/commands
copying clevercsv/console/commands/standardize.py -> clevercsv-0.7.4/clevercsv/console/commands
copying clevercsv/console/commands/view.py -> clevercsv-0.7.4/clevercsv/console/commands
copying man/clevercsv-code.1 -> clevercsv-0.7.4/man
copying man/clevercsv-detect.1 -> clevercsv-0.7.4/man
copying man/clevercsv-explore.1 -> clevercsv-0.7.4/man
copying man/clevercsv-help.1 -> clevercsv-0.7.4/man
copying man/clevercsv-standardize.1 -> clevercsv-0.7.4/man
copying man/clevercsv-view.1 -> clevercsv-0.7.4/man
copying man/clevercsv.1 -> clevercsv-0.7.4/man
copying src/abstraction.c -> clevercsv-0.7.4/src
copying src/cparser.c -> clevercsv-0.7.4/src
copying tests/test_unit/test_consistency.py -> clevercsv-0.7.4/tests/test_unit
copying tests/test_unit/test_console.py -> clevercsv-0.7.4/tests/test_unit
copying tests/test_unit/test_cparser.py -> clevercsv-0.7.4/tests/test_unit
copying tests/test_unit/test_detect.py -> clevercsv-0.7.4/tests/test_unit
copying tests/test_unit/test_detect_pattern.py -> clevercsv-0.7.4/tests/test_unit
copying tests/test_unit/test_detect_type.py -> clevercsv-0.7.4/tests/test_unit
copying tests/test_unit/test_dict.py -> clevercsv-0.7.4/tests/test_unit
copying tests/test_unit/test_encoding.py -> clevercsv-0.7.4/tests/test_unit
copying tests/test_unit/test_fuzzing.py -> clevercsv-0.7.4/tests/test_unit
copying tests/test_unit/test_normal_forms.py -> clevercsv-0.7.4/tests/test_unit
copying tests/test_unit/test_potential_dialects.py -> clevercsv-0.7.4/tests/test_unit
copying tests/test_unit/test_reader.py -> clevercsv-0.7.4/tests/test_unit
copying tests/test_unit/test_wrappers.py -> clevercsv-0.7.4/tests/test_unit
copying tests/test_unit/test_write.py -> clevercsv-0.7.4/tests/test_unit
Writing clevercsv-0.7.4/setup.cfg
Creating tar archive
removing 'clevercsv-0.7.4' (and everything under it)
* Building wheel from sdist
* Getting build dependencies for wheel...
running egg_info
writing clevercsv.egg-info/PKG-INFO
writing dependency_links to clevercsv.egg-info/dependency_links.txt
writing entry points to clevercsv.egg-info/entry_points.txt
writing requirements to clevercsv.egg-info/requires.txt
writing top-level names to clevercsv.egg-info/top_level.txt
reading manifest file 'clevercsv.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'requirements.txt'
warning: no files found matching '*' under directory 'bin'
no previously-included directories found matching 'tests/test_integration'
warning: no previously-included files found matching 'Makefile'
warning: no previously-included files found matching '.gitignore'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'make_release.py'
warning: no previously-included files found matching 'cgrep'
warning: no previously-included files found matching 'vgrep'
no previously-included directories found matching 'notes'
no previously-included directories found matching 'auxiliary'
adding license file 'LICENSE'
writing manifest file 'clevercsv.egg-info/SOURCES.txt'
* Building wheel...
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-310
creating build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/__main__.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/utils.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/exceptions.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/normal_form.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/_optional.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/potential_dialects.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/dialect.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/write.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/escape.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/dict_read_write.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/__version__.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/detect_pattern.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/break_ties.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/wrappers.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/detect_type.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/consistency.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/detect.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/read.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/cparser_util.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/__init__.py -> build/lib.linux-x86_64-cpython-310/clevercsv
copying clevercsv/encoding.py -> build/lib.linux-x86_64-cpython-310/clevercsv
creating build/lib.linux-x86_64-cpython-310/clevercsv/console
copying clevercsv/console/application.py -> build/lib.linux-x86_64-cpython-310/clevercsv/console
copying clevercsv/console/__init__.py -> build/lib.linux-x86_64-cpython-310/clevercsv/console
creating build/lib.linux-x86_64-cpython-310/clevercsv/console/commands
copying clevercsv/console/commands/explore.py -> build/lib.linux-x86_64-cpython-310/clevercsv/console/commands
copying clevercsv/console/commands/code.py -> build/lib.linux-x86_64-cpython-310/clevercsv/console/commands
copying clevercsv/console/commands/_utils.py -> build/lib.linux-x86_64-cpython-310/clevercsv/console/commands
copying clevercsv/console/commands/standardize.py -> build/lib.linux-x86_64-cpython-310/clevercsv/console/commands
copying clevercsv/console/commands/detect.py -> build/lib.linux-x86_64-cpython-310/clevercsv/console/commands
copying clevercsv/console/commands/_docs.py -> build/lib.linux-x86_64-cpython-310/clevercsv/console/commands
copying clevercsv/console/commands/view.py -> build/lib.linux-x86_64-cpython-310/clevercsv/console/commands
copying clevercsv/console/commands/__init__.py -> build/lib.linux-x86_64-cpython-310/clevercsv/console/commands
running egg_info
writing clevercsv.egg-info/PKG-INFO
writing dependency_links to clevercsv.egg-info/dependency_links.txt
writing entry points to clevercsv.egg-info/entry_points.txt
writing requirements to clevercsv.egg-info/requires.txt
writing top-level names to clevercsv.egg-info/top_level.txt
reading manifest file 'clevercsv.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'requirements.txt'
warning: no files found matching '*' under directory 'bin'
no previously-included directories found matching 'tests/test_integration'
warning: no previously-included files found matching 'Makefile'
warning: no previously-included files found matching '.gitignore'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'make_release.py'
warning: no previously-included files found matching 'cgrep'
warning: no previously-included files found matching 'vgrep'
no previously-included directories found matching 'notes'
no previously-included directories found matching 'auxiliary'
adding license file 'LICENSE'
writing manifest file 'clevercsv.egg-info/SOURCES.txt'
running build_ext
building 'clevercsv.cparser' extension
creating build/temp.linux-x86_64-cpython-310
creating build/temp.linux-x86_64-cpython-310/src
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/clevercsv/.venv/include -I/usr/local/include/python3.10 -c src/cparser.c -o build/temp.linux-x86_64-cpython-310/src/cparser.o
gcc -pthread -shared build/temp.linux-x86_64-cpython-310/src/cparser.o -L/usr/local/lib -o build/lib.linux-x86_64-cpython-310/clevercsv/cparser.cpython-310-x86_64-linux-gnu.so
building 'clevercsv.cabstraction' extension
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/clevercsv/.venv/include -I/usr/local/include/python3.10 -c src/abstraction.c -o build/temp.linux-x86_64-cpython-310/src/abstraction.o
gcc -pthread -shared build/temp.linux-x86_64-cpython-310/src/abstraction.o -L/usr/local/lib -o build/lib.linux-x86_64-cpython-310/clevercsv/cabstraction.cpython-310-x86_64-linux-gnu.so
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/__main__.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/utils.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/cabstraction.cpython-310-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/exceptions.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/normal_form.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/_optional.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/potential_dialects.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/dialect.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/write.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/escape.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/dict_read_write.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/__version__.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/cparser.cpython-310-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/detect_pattern.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/break_ties.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/wrappers.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/detect_type.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/consistency.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/detect.py -> build/bdist.linux-x86_64/wheel/clevercsv
creating build/bdist.linux-x86_64/wheel/clevercsv/console
copying build/lib.linux-x86_64-cpython-310/clevercsv/console/application.py -> build/bdist.linux-x86_64/wheel/clevercsv/console
copying build/lib.linux-x86_64-cpython-310/clevercsv/console/__init__.py -> build/bdist.linux-x86_64/wheel/clevercsv/console
creating build/bdist.linux-x86_64/wheel/clevercsv/console/commands
copying build/lib.linux-x86_64-cpython-310/clevercsv/console/commands/explore.py -> build/bdist.linux-x86_64/wheel/clevercsv/console/commands
copying build/lib.linux-x86_64-cpython-310/clevercsv/console/commands/code.py -> build/bdist.linux-x86_64/wheel/clevercsv/console/commands
copying build/lib.linux-x86_64-cpython-310/clevercsv/console/commands/_utils.py -> build/bdist.linux-x86_64/wheel/clevercsv/console/commands
copying build/lib.linux-x86_64-cpython-310/clevercsv/console/commands/standardize.py -> build/bdist.linux-x86_64/wheel/clevercsv/console/commands
copying build/lib.linux-x86_64-cpython-310/clevercsv/console/commands/detect.py -> build/bdist.linux-x86_64/wheel/clevercsv/console/commands
copying build/lib.linux-x86_64-cpython-310/clevercsv/console/commands/_docs.py -> build/bdist.linux-x86_64/wheel/clevercsv/console/commands
copying build/lib.linux-x86_64-cpython-310/clevercsv/console/commands/view.py -> build/bdist.linux-x86_64/wheel/clevercsv/console/commands
copying build/lib.linux-x86_64-cpython-310/clevercsv/console/commands/__init__.py -> build/bdist.linux-x86_64/wheel/clevercsv/console/commands
copying build/lib.linux-x86_64-cpython-310/clevercsv/read.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/cparser_util.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/__init__.py -> build/bdist.linux-x86_64/wheel/clevercsv
copying build/lib.linux-x86_64-cpython-310/clevercsv/encoding.py -> build/bdist.linux-x86_64/wheel/clevercsv
running install_data
creating build/bdist.linux-x86_64/wheel/clevercsv-0.7.4.data
creating build/bdist.linux-x86_64/wheel/clevercsv-0.7.4.data/data
creating build/bdist.linux-x86_64/wheel/clevercsv-0.7.4.data/data/man
creating build/bdist.linux-x86_64/wheel/clevercsv-0.7.4.data/data/man/man1
copying man/clevercsv-explore.1 -> build/bdist.linux-x86_64/wheel/clevercsv-0.7.4.data/data/man/man1
copying man/clevercsv-code.1 -> build/bdist.linux-x86_64/wheel/clevercsv-0.7.4.data/data/man/man1
copying man/clevercsv-view.1 -> build/bdist.linux-x86_64/wheel/clevercsv-0.7.4.data/data/man/man1
copying man/clevercsv.1 -> build/bdist.linux-x86_64/wheel/clevercsv-0.7.4.data/data/man/man1
copying man/clevercsv-standardize.1 -> build/bdist.linux-x86_64/wheel/clevercsv-0.7.4.data/data/man/man1
copying man/clevercsv-detect.1 -> build/bdist.linux-x86_64/wheel/clevercsv-0.7.4.data/data/man/man1
copying man/clevercsv-help.1 -> build/bdist.linux-x86_64/wheel/clevercsv-0.7.4.data/data/man/man1
running install_egg_info
Copying clevercsv.egg-info to build/bdist.linux-x86_64/wheel/clevercsv-0.7.4-py3.10.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/clevercsv-0.7.4.dist-info/WHEEL
creating '/tmp/clevercsv/dist/.tmp-je0rfu23/clevercsv-0.7.4-cp310-cp310-linux_x86_64.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'clevercsv/__init__.py'
adding 'clevercsv/__main__.py'
adding 'clevercsv/__version__.py'
adding 'clevercsv/_optional.py'
adding 'clevercsv/break_ties.py'
adding 'clevercsv/cabstraction.cpython-310-x86_64-linux-gnu.so'
adding 'clevercsv/consistency.py'
adding 'clevercsv/cparser.cpython-310-x86_64-linux-gnu.so'
adding 'clevercsv/cparser_util.py'
adding 'clevercsv/detect.py'
adding 'clevercsv/detect_pattern.py'
adding 'clevercsv/detect_type.py'
adding 'clevercsv/dialect.py'
adding 'clevercsv/dict_read_write.py'
adding 'clevercsv/encoding.py'
adding 'clevercsv/escape.py'
adding 'clevercsv/exceptions.py'
adding 'clevercsv/normal_form.py'
adding 'clevercsv/potential_dialects.py'
adding 'clevercsv/read.py'
adding 'clevercsv/utils.py'
adding 'clevercsv/wrappers.py'
adding 'clevercsv/write.py'
adding 'clevercsv/console/__init__.py'
adding 'clevercsv/console/application.py'
adding 'clevercsv/console/commands/__init__.py'
adding 'clevercsv/console/commands/_docs.py'
adding 'clevercsv/console/commands/_utils.py'
adding 'clevercsv/console/commands/code.py'
adding 'clevercsv/console/commands/detect.py'
adding 'clevercsv/console/commands/explore.py'
adding 'clevercsv/console/commands/standardize.py'
adding 'clevercsv/console/commands/view.py'
adding 'clevercsv-0.7.4.data/data/man/man1/clevercsv-code.1'
adding 'clevercsv-0.7.4.data/data/man/man1/clevercsv-detect.1'
adding 'clevercsv-0.7.4.data/data/man/man1/clevercsv-explore.1'
adding 'clevercsv-0.7.4.data/data/man/man1/clevercsv-help.1'
adding 'clevercsv-0.7.4.data/data/man/man1/clevercsv-standardize.1'
adding 'clevercsv-0.7.4.data/data/man/man1/clevercsv-view.1'
adding 'clevercsv-0.7.4.data/data/man/man1/clevercsv.1'
adding 'clevercsv-0.7.4.dist-info/LICENSE'
adding 'clevercsv-0.7.4.dist-info/METADATA'
adding 'clevercsv-0.7.4.dist-info/WHEEL'
adding 'clevercsv-0.7.4.dist-info/entry_points.txt'
adding 'clevercsv-0.7.4.dist-info/top_level.txt'
adding 'clevercsv-0.7.4.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built clevercsv-0.7.4.tar.gz and clevercsv-0.7.4-cp310-cp310-linux_x86_64.whl The build is also successful with --- a/setup.py
+++ b/setup.py
@@ -8,7 +8,7 @@ import os
from setuptools import Extension
from setuptools import find_packages
from setuptools import setup
-from setuptools._distutils.core import Command
+from distutils.core import Command
# Package meta-data.
AUTHOR = "Gertjan van den Burg" I am not sure why this happens only after pypa/distutils@e0787fa. My guess is that prior to #3674:
After #3674:
With that in mind I think we can close this issue as it does not seem to be a bug (the example repository imports directly from a module that not exposed in a public way and therefore subverts the internal functioning of setuptools). @mweinelt, I will leave the issue opened for one or two days to collect feedback, but since I am satisfied by the conclusions of the investigation I am tempted to close the ticket as invalid. Of course we can re-discuss that if other evidence is brought up. |
Thanks for investigating this issue. ccing @GjjvdBurg, the CleverCSV maintainer for reference. |
In setuptools 65.6.0 the vendored distutils package changed to relative imports. Importing `setuptools._distutils` would import an unpatched version of distutils, while importing `distutils` directly imports a monkeypatched version that works. Reported upstream at pypa/setuptools#3743 and the problem was investigated by Anderson Bravalheri. Closes: alan-turing-institute#77
In setuptools 65.6.0 the vendored distutils package changed to relative imports. Importing `setuptools._distutils` would import an unpatched version of distutils, while importing `distutils` directly imports a monkeypatched version that works. Reported upstream at pypa/setuptools#3743 and the problem was investigated by Anderson Bravalheri. Closes: alan-turing-institute#77
In setuptools 65.6.0 the vendored distutils package changed to relative imports. Importing `setuptools._distutils` previously worked but now will import an unpatched version of distutils which breaks the build. Importing `Command` from `distutils` or `setuputils` will receive a monkey patched version that works. Reported upstream at pypa/setuptools#3743 and the problem was investigated by Anderson Bravalheri. Closes: alan-turing-institute#77
In setuptools 65.6.0 the vendored distutils package changed to relative imports. Importing `Command` from `setuptools._distutils` previously worked but now fails because it imports an unpatched version of distutils, which breaks the build. Importing `Command` directly from `distutils` or `setuputils` will receive a monkey patched version that works. Reported upstream at pypa/setuptools#3743 and the problem was investigated by Anderson Bravalheri. Closes: alan-turing-institute#77
setuptools version
setuptools>=65.6.0
Python version
3.10.9
OS
NixOS Unstable (Linux 6.1.2)
Additional environment information
build==0.9.0
packaging==22.0
pep517==0.13.0
tomli==2.0.1
Description
Trying to build
clevercsv
I run into the following exception.I bisected this problem to a merge of distutils that first appeared in 65.6.0:
Also reported at clevercsv in alan-turing-institute/CleverCSV#77.
Expected behavior
The build should not fail with an exception.
How to Reproduce
Output
The text was updated successfully, but these errors were encountered: