pipenv: Pipenv install fails to install sub dependencies from private repos

Describe you environment
  1. OSX (MAC)
  2. Python version: 2.7.10
  3. Pipenv version: 8.2.6

Issue

  1. setup.py inside invocations repo -> installing CaaS package :
install_requires=[
    'CaaS>=1.0'
  ],

  dependency_links=[
    'https://<private_repo>#egg=CaaS-1.0'
  ],
  1. Installing invocations in a virtualenv python setup.py install

  2. Valdiating CaaS installed correctly.

(test_1) c4b301cf5d25:invocations quj291$ pip freeze
CaaS==1.0

So far everything works.

  1. Created a Pipfile
[requires]
python_version = '2.7'

[packages]
invocations = { git = 'git://<private-repo>/invocations',  ref = 'master' }
  1. Fails to install invocations because CaaS package cannot be found: pipenv install
Collecting CaaS>=1.0 (from invocations)

  Could not find a version that satisfies the requirement CaaS>=1.0 (from invocations) (from versions: )
No matching distribution found for CaaS>=1.0 (from invocations)
  1. Tried pipenv install --verbose
Collecting CaaS>=1.0 (from invocations)
  1 location(s) to search for versions of CaaS:
  * https://pypi.python.org/simple/caas/
  Getting page https://pypi.python.org/simple/caas/
  Looking up "https://pypi.python.org/simple/caas/" in the cache
  No cache entry available
  Starting new HTTPS connection (1): pypi.python.org
  "GET /simple/caas/ HTTP/1.1" 404 33
  Status code 404 not in [200, 203, 300, 301]
  Could not fetch URL https://pypi.python.org/simple/caas/: 404 Client Error: Not Found (caas does not exist) for url: https://pypi.python.org/simple/caas/ - skipping
Cleaning up...

Tries to get CaaS from pypi instead of private github repo’s inside dependency_links of invocation’s setup.py

Is this expected? How can I install CaaS package?

Thanks!

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Reactions: 2
  • Comments: 18 (11 by maintainers)

Commits related to this issue

Most upvoted comments

known, designed this way

@manihamidi I believe you can set the environment variable PIP_PROCESS_DEPENDENCY_LINKS=1 or something like that to have pip recognize this if you need it, can you see if that helps?

Also thanks for the super-detailed info, makes it really clear what you’re trying to do and why its not working!

@manihamidi it’s not really pipenv documentation so it probably doesn’t belong in our docs, it’s just a pip environment variable. In general anything you can pass to pip on the command line can be set as an environment variable if you uppercase it and replace dashes with underscores.

You can setup a private index if you like, then you can specify it in your pipfile

@siddartha1992 as a point of clarification on this issue, did pipenv fail to install the dependencies or did it fail to resolve the dependencies? The output you provided doesn’t make it completely clear but there is a big difference as to the cause of the problem

Oh I see what you’re saying, I either misunderstood or we solved one problem but uncovered another. I have an idea about where this might be happening but it will be messy to untangle since I don’t have an example repository. Essentially, we aren’t currently resolving anything in setup.py since we rely on pip to do that resolution. Out of curiosity, what is the output of pipenv run pip freeze?