简体   繁体   中英

Using pip with two --extra-index-url arguments that both point to the same domain

We use our own python package index at my office, and we're trying to add a new one. When I try to specify both indices at the same time, I get prompted to log in, but if I use only one at a time I don't.

For example:

$ pip install --user --upgrade \
    --extra-index-url https://<api token>:@packagecloud.io/2rs2ts/oldrepo/pypi/simple \
    --extra-index-url https://<other api token>:@packagecloud.io/2rs2ts/newrepo/pypi/simple \
    mypackage
Collecting mypackage
User for packagecloud.io:

But if I specify just one of either of those --extra-index-url arguments then I download my package just fine.

I'm 99% certain that I am passing the arguments correctly, since it's specified with an append action in the source . So I think the problem is that both of these index URLs are from packagecloud.io ... but I could be wrong. Either way, how can I use both of my repos?

Apparently this is a bug in pip. The HTTP basic auth information is not stored correctly when specifying multiple --extra-index-url s that point to the same domain. I filed an issue , but in the meantime, there is a workaround. By specifying one of the --extra-index-url s as the --index instead, and adding PyPI as an --extra-index-url , I was able to download my package successfully:

$ pip install --user --upgrade \
    --index https://<api token>:@packagecloud.io/2rs2ts/oldrepo/pypi/simple \
    --extra-index-url https://<other api token>:@packagecloud.io/2rs2ts/newrepo/pypi/simple \
    --extra-index-url https://pypi.python.org/simple \
    mypackage
Collecting mypackage
  Downloading https://packagecloud.io/2rs2ts/newrepo/pypi/packages/mypackage-1.0.0-py2-none-any.whl (52kB)
etc. etc.
--extra-index-url

accepts a list (it should probably be called --extra-index-urls). Try adding your URLs comma separated, like this:

pip install --user --upgrade \
    --extra-index-url https://<api token>:@packagebutt.io/2rs2ts/oldrepo/pypi/simple, \
    https://<other api token>:@packagebutt.io/2rs2ts/newrepo/pypi/simple \
    mypackage

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM