-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Pipenv install parsing wrong package name #2956
Comments
This looks related to PEP 503's standardization name normalization. As this is gradually implemented across the ecosystem, things seem to break. |
One more affected package: |
Another package is dogpile.cache (Related issue: #2959) |
The related issue: zopefoundation/zope.interface#124 |
@Jamim does this issue needs to be fixed on each package that has a "." in its name? |
Another package with a dotted-name which I use: https://pypi.org/project/testing.postgresql/ |
I'm not sure, but it looks like something is wrong with package name normalization at pypi.org (pypa/warehouse). By the way, this issue could be related: pypi/conveyor#12 |
That's right @Jamim, that what I was unsure about. |
@arruda I prefer to have an option, e.g. env variable |
@Jamim pipenv has to normalize names internally. You might have packages A depending on "zope.interface" and B depending on "zope-interface", both being valid package names and installable separately. pipenv's dependency resolution must normalize things, because otherwise you can end up with separate "zope-interface" and "zope.interface" dependencies in Pipfile.lock. |
@immerrr Yep, you are definitely right. |
pip bug: pypa/pip#5870 |
Another package that is affected is I even filed an issue here. pypi/warehouse#2951 |
zc.lockfile is another example (putting here in case others google for it, specifically). Any workaround suggestions? |
@jakeczyz it was mentioned that downgrading pipenv to 2018.7.1 worked |
- Fixes #2951 - Fixes #2956 - Fixes #2963 Signed-off-by: Dan Ryan <[email protected]>
I am not sure if this is really fixed for all cases, see e.g. pypi/warehouse#2849. That issue is about |
I also still get an error when installing |
@svenpanne I don’t believe that is the same issue. |
Hmmm, this works for me with the current master. Perhaps related to the Python version? I'm using 2.7.15. |
Or it might be the cache. Try |
|
OK, that explains the difference we are seeing: The last released version doesn't contain the relevant fix, I installed directly from github:
|
This bug is actually adversely affecting me in a major way. I've had to update a ton of continuous integration jobs to reference the previous version to prevent this bug from failing all my deploys and deliveries. Please release a fix for this soon. |
For anyone else tripping across this, I changed my Dockerfile to:
In order to pin pipenv itself. |
pipenv is broken by: pypa/pipenv#2956
pipenv is broken by: pypa/pipenv#2956
pipenv is broken by: pypa/pipenv#2956
pipenv is broken by: pypa/pipenv#2956
pipenv is broken by: pypa/pipenv#2956
pipenv is broken by: pypa/pipenv#2956
pipenv is broken by: pypa/pipenv#2956
pipenv is broken by: pypa/pipenv#2956
pipenv is broken by: pypa/pipenv#2956
pipenv is broken by: pypa/pipenv#2956
Is this issue fixed, I want to add dogpile.cache in my requirements.txt file but it not working, please help |
Issue description
After the latest patch for the incompatibility problem with pip 18.1, the pipenv parsing of the package name during installation no longer is working (it's replacing
.
in the package name for a-
and this leads to pip not finding the available versions).This happens with pip 18.1 as well as 18.0.
Expected result
pipenv install zope.interface==4.5.0
should install from this package https://pypi.org/project/zope.interface/Actual result
Instead it translates to
zope-interface==4.5.0
and then it don't find the package:Steps to replicate
create new virtualenv with latest pipenv version (2018.10.9) to see it break, and test it with the previews one (2018.7.1) where it's still ok.
obs: I'm not sure if this is a bug in pip or pypi (not finding the correct version when replacing
.
with-
), but since it started happening with the latest pipenv release then I believe it is actually related to pipenv.The text was updated successfully, but these errors were encountered: