简体   繁体   中英

configure pip to get missing package from pypi.python.org

I have local pypi server.

and I set it configuration in

root@localhost$ cat .pip/pip.conf
[global]
index-url = http://localhost/simple
trusted-host=localhost

My pypi server has paste=2.0.2 but one of the app need paste=2.0.3 . when I check in https://pypi.python.org/simple/paste/ it has this version.

When I run pip install -r requirements.txt it gives below error.

Collecting paste==2.0.3 (from -r requirements.txt (line 22))
  1 location(s) to search for versions of paste:
  * http://localhost/simple/paste/
  Getting page http://localhost/simple/paste/
  Resetting dropped connection: localhost
  "GET /simple/paste/ HTTP/1.1" 200 309
  Analyzing links from page http://localhost/simple/paste/
    Found link http://localhost/packages/Paste-2.0.2-py2-none-any.whl#md5=42d3df8ad533457607903a0ca0922825 (from http://localhost/simple/paste/), version: 2.0.2
  Could not find a version that satisfies the requirement paste==2.0.3 (from -r requirements.txt (line 22)) (from versions: 2.0.2)
Cleaning up...
No matching distribution found for paste==2.0.3 (from -r requirements.txt (line 22))
Exception information:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 335, in run
    wb.build(autobuilding=True)
  File "/usr/local/lib/python2.7/dist-packages/pip/wheel.py", line 749, in build
    self.requirement_set.prepare_files(self.finder)
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 554, in _prepare_file
    require_hashes
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 276, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/usr/local/lib/python2.7/dist-packages/pip/index.py", line 514, in find_requirement
    'No matching distribution found for %s' % req
DistributionNotFound: No matching distribution found for paste==2.0.3 (from -r requirements.txt (line 22))
You are using pip version 9.0.0, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

How can I configure pip.conf , so when specific package with number is not available on local pypi, it will search for pypi.python.org ?

You need to set

[global]
extra-index-url =  https://pypi.python.org

in your ~/.pip/pip.conf file per the documentation

Furthermore, you can start you pypi server with the following argument

  --fallback-url FALLBACK_URL
    for packages not found in the local index, this URL will be used to
    redirect to (default: http://pypi.python.org/simple)

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