Skip to content

pipenv 2020.4.1b1: Invalid fragment string #4217

Closed
@Flimm

Description

@Flimm

I installed pipenv 2020.4.1b1 on my local machine by running:

pip install --upgrade --pre pipenv

Then I updated my dependencies on my local machine by running:

pipenv update

The Pipfile.lock got updated of course. Here is the relevant diff in Pipfile.lock:

         "robohash": {
             "git": "https://github.com/e1ven/Robohash.git",
-            "ref": "03ade66998c15735740ec4111b5da8d4383a7577"
+            "ref": "03ade66998c15735740ec4111b5da8d4383a7577",
+            "version": "==1.0"
         },

As you can see, this dependency is installed from GitHub, not from PyPI. Using the newer pipenv caused a new key-value to be added, which is "version": "==1.0".

I committed these changes and launched them to a server. The server has Pipenv 2018.5.18 installed. When the server tried to install the dependencies from this Pipfile.lock, I got this error:

remote:        WARNING: Invalid fragment string egg=robohash==1.0
remote:        ABORTING INSTALL... You will have to reinstall any packages that failed to install.
remote:        You may have to manually run pipenv lock when you are finished.

It looks like the new key-value pair version is incompatible with pipenv 2018.5.18, when it applies to packages installed from a Git repo. Is that correct? Is it meant to be that way? If it is, it would be useful to include this compatibility notice in the change log. If not, then maybe the version key-value shouldn't be included in packages that are installed from a Git repo.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Category: Dependency ResolutionIssue relates to dependency resolution.Category: VCSRelates to version control system dependencies.Type: Bug 🐛This issue is a bug.Type: RegressionThis issue is a regression of a previous behavior.Type: Release BlockerMust be resolved before the next release can be cut.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions