Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-12075

PyPi packages are case sensitive and not correctly redirected

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Automatically Closed
    • Affects Version/s: 3.2.0, 3.10.0
    • Fix Version/s: None
    • Component/s: PyPI
    • Environment:
      Docker Container supplied at dockerhub.
    • Story Points:
      2
    • Notability:
      3

      Description

      Having uploaded all the Flask package to my PyPi repository and its dependencies I am unable to use easy_install to install Flask.

      The following

      > easy_install Flask
      Searching for Flask
      Reading http://hostname/repository/my-pypi/simple/Flask/
      Authenticating as admin for  http://hostname/repository/my-pypi/simple/Flask/ (from .pypirc)
      Couldn't find index page for 'Flask' (maybe misspelled?)
      Scanning index of all packages (this may take a while)
      Reading http://hostname/repository/my-pypi/simple/
      Authenticating as admin for http://hostname/repository/my-pypi/simple/ (from .pypirc)
      No local packages or working download links found for Flask
      error: Could not find suitable distribution for Requirement.parse('Flask')
      

      fails because it cannot find the Flask module.

      The following

      >easy_install flask
      Searching for flask
      Reading http://hostname/repository/my-pypi/simple/flask/
      Authenticating as admin for http://hostname/repository/my-pypi/simple/flask/ (from .pypirc)
      Downloading http://hostname/repository/my-pypi/packages/flask/0.12/Flask-0.12.tar.gz#md5=c1d30f51cff4a38f9454b23328a15c5a
      

      will start to work as it can find the module as the search url has the lowercase "f". This will however eventually fail when it tries to install the dependency of Jinja2 due to the same reason as above. i.e it is looking for Jinja2 with a capital 'J', as Jinja2 is supplied as a dependency it is not easy to change it to ask for the lowercase j.

      Easy Install works when pointing to pypi.python.org.

      Pip works ok and can deal with the case issues, but the requirement to use easy_install is due to the integration with setuptools which relies on easy_install.

      This is using nexus 3.2.0-01.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              ataylor Andrew Taylor
              Reporter:
              stevenoday Steven O'Day
              Last Updated By:
              Joe Tom
              Team:
              NXRM - Neo
              Votes:
              3 Vote for this issue
              Watchers:
              10 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title