diff --git a/pipdeps/pipdeps.py b/pipdeps/pipdeps.py
index 40ec1898a3bb3beeb7a75cf41308687e4fa3bd92..3dd40d191c5eb8bb91a4d72986df0edd43c3721b 100644
--- a/pipdeps/pipdeps.py
+++ b/pipdeps/pipdeps.py
@@ -61,12 +61,6 @@ def check_requires_python(pyver, requires_python):
return True
return False
-def upgrade_pip():
- """
- pip install --upgrade pip
- """
- subprocess.check_call(["pip", "install", "--upgrade", "pip"], stderr=subprocess.STDOUT)
-
def upgrade_package(package, versions):
"""
pip install --upgrade "<package><versions>"
@@ -196,10 +190,14 @@ def main():
print "There is nothing to upgrade."
sys.exit(0)
+ for index, pkg in enumerate(upgradable_packages):
+ if pkg['package'] == 'pip':
+ package = upgradable_packages.pop(index)
+ upgrade_package(package['package'], package['upgradable_version'])
+
try:
package = upgradable_packages.pop(-1)
except IndexError:
- upgrade_pip()
break
upgrade_package(package['package'], package['upgradable_version'])