mirror of
https://github.com/kennethreitz/heroku-buildpack-python.git
synced 2026-06-05 23:10:16 +00:00
57 lines
2.1 KiB
Python
57 lines
2.1 KiB
Python
"""Exceptions used throughout package"""
|
|
|
|
import textwrap
|
|
|
|
class PipError(Exception):
|
|
"""Base pip exception"""
|
|
|
|
|
|
class InstallationError(PipError):
|
|
"""General exception during installation"""
|
|
|
|
|
|
class UninstallationError(PipError):
|
|
"""General exception during uninstallation"""
|
|
|
|
|
|
class DistributionNotFound(InstallationError):
|
|
"""Raised when a distribution cannot be found to satisfy a requirement"""
|
|
|
|
|
|
class BestVersionAlreadyInstalled(PipError):
|
|
"""Raised when the most up-to-date version of a package is already
|
|
installed. """
|
|
|
|
|
|
class BadCommand(PipError):
|
|
"""Raised when virtualenv or a command is not found"""
|
|
|
|
|
|
class CommandError(PipError):
|
|
"""Raised when there is an error in command-line arguments"""
|
|
|
|
|
|
class NoSSLError(PipError):
|
|
"""Raised when there's no ssl and not using '--insecure'"""
|
|
|
|
def __str__(self):
|
|
return textwrap.dedent("""
|
|
###################################################################
|
|
## You don't have an importable ssl module. You are most ##
|
|
## likely using Python 2.5, which did not include ssl ##
|
|
## support by default. In this state, we can not provide ##
|
|
## ssl certified downloads from PyPI. ##
|
|
## ##
|
|
## You can do one of 2 things: ##
|
|
## 1) Install this: https://pypi.python.org/pypi/ssl/ ##
|
|
## (It provides ssl support for older Pythons ) ##
|
|
## 2) Use the --insecure option to allow this insecurity ##
|
|
## ##
|
|
## For more details, go to the "SSL Certificate Verification" ##
|
|
## section located here: ##
|
|
## http://www.pip-installer.org/en/latest/logic.html ##
|
|
## ##
|
|
###################################################################
|
|
""")
|
|
|