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

Egg name on git URLs is not checked for accuracy #3143

Closed
nedbat opened this Issue Sep 27, 2015 · 4 comments

Comments

Projects
None yet
2 participants
@nedbat

nedbat commented Sep 27, 2015

In a requirements file, I have a package that is installed like this:

-e git+https://github.com/pmitros/django-pyfs.git@d175715e0fe3367ec0f1ee429c242d603f6e8b10#egg=djpyfs

This installs fine, but is wrong: the kit name is "django-pyfs", not "djpyfs". Once installed, I cannot uninstall it with "pip uninstall -r requirements.txt" because of the incorrect name. Pip should refuse to install the package if the name is given incorrectly.

@tritium21

This comment has been minimized.

Show comment
Hide comment
@tritium21

tritium21 Sep 27, 2015

ned, if it could do that, then it wouldn't need you to tell it the name....

tritium21 commented Sep 27, 2015

ned, if it could do that, then it wouldn't need you to tell it the name....

@nedbat

This comment has been minimized.

Show comment
Hide comment
@nedbat

nedbat Sep 28, 2015

@tritium21 I know it doesn't know that before the installation, but it knows it after the installation. If it can error on "pip uninstall" then it can error at the very end of "pip install".

nedbat commented Sep 28, 2015

@tritium21 I know it doesn't know that before the installation, but it knows it after the installation. If it can error on "pip uninstall" then it can error at the very end of "pip install".

@tritium21

This comment has been minimized.

Show comment
Hide comment
@tritium21

tritium21 Sep 28, 2015

So looking this up, it's only ever used for dependency resolution, if the docs are to be believed. I think you found an edge case where you would provide a name, but not have other packages depend on it?

tritium21 commented Sep 28, 2015

So looking this up, it's only ever used for dependency resolution, if the docs are to be believed. I think you found an edge case where you would provide a name, but not have other packages depend on it?

@nedbat

This comment has been minimized.

Show comment
Hide comment
@nedbat

nedbat Sep 29, 2015

@tritium21 This is the case: I have a requirements.txt file that lists github repos I need, and they are not mentioned elsewhere.

nedbat commented Sep 29, 2015

@tritium21 This is the case: I have a requirements.txt file that lists github repos I need, and they are not mentioned elsewhere.

xavfernandez added a commit to xavfernandez/pip that referenced this issue Sep 30, 2015

Abort installation on metadata mismatch
If setup.py egg_info produces metadata for a different project name than
self.req.project_name, abort the installation.
Fixes pypa#3143

xavfernandez added a commit to xavfernandez/pip that referenced this issue Sep 30, 2015

Abort installation on metadata mismatch
If setup.py egg_info produces metadata for a different project name than
self.req.project_name, abort the installation.
Fixes pypa#3143

xavfernandez added a commit to xavfernandez/pip that referenced this issue Oct 1, 2015

Abort installation on metadata mismatch
If setup.py egg_info produces metadata for a different project name than
self.req.project_name, abort the installation.
Fixes pypa#3143

xavfernandez added a commit to xavfernandez/pip that referenced this issue Oct 1, 2015

Abort installation on metadata mismatch
If setup.py egg_info produces metadata for a different project name than
self.req.project_name, abort the installation.
Fixes pypa#3143
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment