Skip to content

pip install in editable mode no longer works #694

Closed
@antonymilne

Description

@antonymilne

Bug description

Since the recent changes to gitpod/workspace-full, doing pip install -e no longer works in my repo. The same problem exists for gitpod/workspace-python. The legacy-dazzle-v1 works fine. pip install without -e works fine.

Possibly related:
#679 (I saw the same error at some stage while fiddling around trying to get it working)
#664
#655

Steps to reproduce

Here's my repo: https://github.com/kedro-org/kedro. You'll find it all works fine if you pip install -e . (which is run in .gitpod.yml already), but only because I've specified image: gitpod/workspace-full:legacy-dazzle-v1. If we try instead with workspace-full or workspace-python I will instead get the following error. All dependencies install fine, but then it's the package itself that fails.

I'm guessing this is due to the combination of --user and -e, as in pypa/pip#7953, but unfortunately none of the workarounds there are working. As above, this used to work fine before the change to dazzle v2.

     command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/workspace/kedro/setup.py'"'"'; __file__='"'"'/workspace/kedro/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps --user --prefix=
         cwd: /workspace/kedro/
    Complete output (18 lines):
    running develop
    WARNING: The user site-packages directory is disabled.
    error: can't create or remove files in install directory
    
    The following error occurred while trying to add or remove files in the
    installation directory:
    
        [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/test-easy-install-286.write-test'
    
    The installation directory you specified (via --install-dir, --prefix, or
    the distutils default setting) was:
    
        /usr/lib/python3.8/site-packages/
    
    This directory does not currently exist.  Please create it and try again, or
    choose a different installation directory (using the -d or --install-dir
    option).
    
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/workspace/kedro/setup.py'"'"'; __file__='"'"'/workspace/kedro/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps --user --prefix= Check the logs for full command output.

Expected behavior

Python package should install successfully.

Example repository

I tried making a minimal example here but this doesn't demonstrate the bug - pip install -e . works fine there. I'm not sure why this one works but my complete kedro example doesn't.

Anything else?

No response

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions