Skip to content
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

Can't install uWSGI egg #638

Open
distributist opened this issue Dec 21, 2023 · 2 comments
Open

Can't install uWSGI egg #638

distributist opened this issue Dec 21, 2023 · 2 comments
Assignees
Labels

Comments

@distributist
Copy link

When you attempt to install the uWSGI egg, it fails to install the uWSGI binary. Instead, only the uWSGI decorators are installed. The problem is in easy_install.py, lines 1817-1820, in make_egg_after_pip_install:

        dest_entry = os.path.join(dest, entry)
        # work around pip install -t bug that leaves entries in RECORD
        # that starts with '../../'
        if not os.path.abspath(dest_entry).startswith(dest):
            continue

The path to the uwsgi binary is given as '../../bin/uwsgi' which causes the entry to be ignored.

Test case to recreate:

[buildout]
parts = test

[test]
recipe = zc.recipe.egg
eggs = uWSGI==2.0.23

The buildout-cache/eggs directory will have a .egg directory for uWSGI containing uwsgidecorators.py, but the actual uwsgi binary will not be installed. If you simply install uwsgi via pip, it installs properly.

Unfortunately, I do not have enough knowledge of the buildout/setuptools/pip toolset to determine if this is a bug in pip or the uWSGI egg, or an issue with the workaround in easy_install.py.

@icemac
Copy link

icemac commented Dec 22, 2023

We are using https://pypi.org/project/buildout.recipe.uwsgi/ here to install uwsgi.
Maybe it helps you, too.

@distributist
Copy link
Author

We are using https://pypi.org/project/buildout.recipe.uwsgi/ here to install uwsgi. Maybe it helps you, too.
Thank you for the suggestion; I will look into it. My workaround was to use plone.recipe.command to run pip. I didn't think of looking for a recipe, because I was focused on "It's just an egg; it should install like before."

I'm happy to look at a solution, but I need input from someone who understands the tools better. I don't know in which cases the workaround in make_egg_after_pip_install is valid and which it isn't. Or if the problem lies with either the uWSGI egg or pip, that's fine. I just don't have the expertise to tell.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants