Skip to content

Editable install (with -C editable_mode=strict) ignores MANIFEST.in #5089

Description

@studyingegret

setuptools version

80.9.0

Python version

3.13.2

OS

Windows 11

Additional environment information

pip 25.2

Description

Title says it.

Expected behavior

No quack.py in steps 3 & 4, step 5 fail with no attribute B

How to Reproduce

  1. Unzip this codebase: test2.zip
  2. python -m venv .venv
  3. python -m build and check if quack.py is in the distribution tarball
  4. pip install -e . -C editable_mode=strict and check if quack.py is in the editable directory (e.g. build/__editable__.example_package_my_username_here-0.0.1-py3-none-any/thepackage)
  5. python -c "import thepackage; print(thepackage.B)"

Output

No quack.py in step 3, quack.py in step 4, step 5 prints "quack".

Also step 3 emits warning: no previously-included files found matching 'src\thepackage\quack.py' several times.

Step 3 output
* Creating isolated environment: venv+pip...
* Installing packages in isolated environment:
  - setuptools == 80.9.0
* Getting build dependencies for sdist...
running egg_info
writing src\example_package_MY_USERNAME_HERE.egg-info\PKG-INFO
writing dependency_links to src\example_package_MY_USERNAME_HERE.egg-info\dependency_links.txt
writing top-level names to src\example_package_MY_USERNAME_HERE.egg-info\top_level.txt
reading manifest file 'src\example_package_MY_USERNAME_HERE.egg-info\SOURCES.txt'       
reading manifest template 'MANIFEST.in'
writing manifest file 'src\example_package_MY_USERNAME_HERE.egg-info\SOURCES.txt'       
* Building sdist...
running sdist
running egg_info
writing src\example_package_MY_USERNAME_HERE.egg-info\PKG-INFO
writing dependency_links to src\example_package_MY_USERNAME_HERE.egg-info\dependency_links.txt
writing top-level names to src\example_package_MY_USERNAME_HERE.egg-info\top_level.txt  
reading manifest file 'src\example_package_MY_USERNAME_HERE.egg-info\SOURCES.txt'       
reading manifest template 'MANIFEST.in'
writing manifest file 'src\example_package_MY_USERNAME_HERE.egg-info\SOURCES.txt'       
warning: sdist: standard file not found: should have one of README, README.rst, README.txt, README.md

running check
creating example_package_my_username_here-0.0.1
creating example_package_my_username_here-0.0.1\src\example_package_MY_USERNAME_HERE.egg-info
creating example_package_my_username_here-0.0.1\src\thepackage
copying files to example_package_my_username_here-0.0.1...
copying MANIFEST.in -> example_package_my_username_here-0.0.1
copying pyproject.toml -> example_package_my_username_here-0.0.1
copying src\example_package_MY_USERNAME_HERE.egg-info\PKG-INFO -> example_package_my_username_here-0.0.1\src\example_package_MY_USERNAME_HERE.egg-info
copying src\example_package_MY_USERNAME_HERE.egg-info\SOURCES.txt -> example_package_my_username_here-0.0.1\src\example_package_MY_USERNAME_HERE.egg-info
copying src\example_package_MY_USERNAME_HERE.egg-info\dependency_links.txt -> example_package_my_username_here-0.0.1\src\example_package_MY_USERNAME_HERE.egg-info
copying src\example_package_MY_USERNAME_HERE.egg-info\top_level.txt -> example_package_my_username_here-0.0.1\src\example_package_MY_USERNAME_HERE.egg-info
copying src\thepackage\__init__.py -> example_package_my_username_here-0.0.1\src\thepackage
copying src\example_package_MY_USERNAME_HERE.egg-info\SOURCES.txt -> example_package_my_username_here-0.0.1\src\example_package_MY_USERNAME_HERE.egg-info
Writing example_package_my_username_here-0.0.1\setup.cfg
Creating tar archive
removing 'example_package_my_username_here-0.0.1' (and everything under it)
* Building wheel from sdist
* Creating isolated environment: venv+pip...
* Installing packages in isolated environment:
  - setuptools == 80.9.0
* Getting build dependencies for wheel...
running egg_info
writing src\example_package_MY_USERNAME_HERE.egg-info\PKG-INFO
writing dependency_links to src\example_package_MY_USERNAME_HERE.egg-info\dependency_links.txt
writing top-level names to src\example_package_MY_USERNAME_HERE.egg-info\top_level.txt  
reading manifest file 'src\example_package_MY_USERNAME_HERE.egg-info\SOURCES.txt'       
reading manifest template 'MANIFEST.in'
warning: no previously-included files found matching 'src\thepackage\quack.py'
writing manifest file 'src\example_package_MY_USERNAME_HERE.egg-info\SOURCES.txt'       
* Building wheel...
running bdist_wheel
running build
running build_py
creating build\lib\thepackage
copying src\thepackage\__init__.py -> build\lib\thepackage
running egg_info
writing src\example_package_MY_USERNAME_HERE.egg-info\PKG-INFO
writing dependency_links to src\example_package_MY_USERNAME_HERE.egg-info\dependency_links.txt
writing top-level names to src\example_package_MY_USERNAME_HERE.egg-info\top_level.txt  
reading manifest file 'src\example_package_MY_USERNAME_HERE.egg-info\SOURCES.txt'       
reading manifest template 'MANIFEST.in'
warning: no previously-included files found matching 'src\thepackage\quack.py'
writing manifest file 'src\example_package_MY_USERNAME_HERE.egg-info\SOURCES.txt'       
installing to build\bdist.win-amd64\wheel
running install
running install_lib
creating build\bdist.win-amd64\wheel
creating build\bdist.win-amd64\wheel\thepackage
copying build\lib\thepackage\__init__.py -> build\bdist.win-amd64\wheel\.\thepackage    
running install_egg_info
Copying src\example_package_MY_USERNAME_HERE.egg-info to build\bdist.win-amd64\wheel\.\example_package_MY_USERNAME_HERE-0.0.1-py3.13.egg-info
running install_scripts
creating build\bdist.win-amd64\wheel\example_package_my_username_here-0.0.1.dist-info\WHEEL
creating 'D:\study-coding\test2\dist\.tmp-47d_w7a6\example_package_my_username_here-0.0.1-py3-none-any.whl' and adding 'build\bdist.win-amd64\wheel' to it
adding 'thepackage/__init__.py'
adding 'example_package_my_username_here-0.0.1.dist-info/METADATA'
adding 'example_package_my_username_here-0.0.1.dist-info/WHEEL'
adding 'example_package_my_username_here-0.0.1.dist-info/top_level.txt'
adding 'example_package_my_username_here-0.0.1.dist-info/RECORD'
removing build\bdist.win-amd64\wheel
Successfully built example_package_my_username_here-0.0.1.tar.gz and example_package_my_username_here-0.0.1-py3-none-any.whl
Step 4 output
Obtaining file:///D:/study-coding/test2
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Preparing editable metadata (pyproject.toml) ... done
Building wheels for collected packages: example_package_MY_USERNAME_HERE
  Building editable for example_package_MY_USERNAME_HERE (pyproject.toml) ... done
  Created wheel for example_package_MY_USERNAME_HERE: filename=example_package_my_username_here-0.0.1-0.editable-py3-none-any.whl size=1507 sha256=46da0493f16ed4b6fd25c0348bec009314d3f1928a9a50bb86d5575d8c8fe4da
  Stored in directory: C:\Users\mme\AppData\Local\Temp\pip-ephem-wheel-cache-ob8dd6pr\wheels\1e\31\86\8fe6e9d6df713fe7d4aef76f207ed052b7841a57b5736c62be
Successfully built example_package_MY_USERNAME_HERE
Installing collected packages: example_package_MY_USERNAME_HERE
Successfully installed example_package_MY_USERNAME_HERE-0.0.1

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions