SEESenv/lib/python2.6/site-packages/pip-0.6.1-py2.6.egg/EGG-INFO/PKG-INFO
author amit@thunder
Sat, 13 Feb 2010 12:29:22 +0530
changeset 3 6cee07c589cb
permissions -rw-r--r--
Changes in path of some of the files ...
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
     1
Metadata-Version: 1.0
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
     2
Name: pip
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
     3
Version: 0.6.1
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
     4
Summary: pip installs packages.  Python packages.  An easy_install replacement
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
     5
Home-page: http://pip.openplans.org
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
     6
Author: The Open Planning Project
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
     7
Author-email: python-virtualenv@groups.google.com
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
     8
License: MIT
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
     9
Description: \
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    10
        The main website for pip is `pip.openplans.org
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    11
        <http://pip.openplans.org>`_.  You can also install
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    12
        the `in-development version <http://bitbucket.org/ianb/pip/get/tip.gz#egg=pip-dev>`_
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    13
        of pip with ``easy_install pip==dev``.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    14
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    15
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    16
        Introduction
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    17
        ------------
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    18
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    19
        pip is a replacement for `easy_install
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    20
        <http://peak.telecommunity.com/DevCenter/EasyInstall>`_.  It uses mostly the
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    21
        same techniques for finding packages, so packages that were made
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    22
        easy_installable should be pip-installable as well.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    23
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    24
        pip is meant to improve on easy_install.  Some of the improvements:
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    25
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    26
        * All packages are downloaded before installation.  Partially-completed
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    27
        installation doesn't occur as a result.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    28
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    29
        * Care is taken to present useful output on the console.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    30
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    31
        * The reasons for actions are kept track of.  For instance, if a package is
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    32
        being installed, pip keeps track of why that package was required.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    33
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    34
        * Error messages should be useful.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    35
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    36
        * The code is relatively concise and cohesive, making it easier to use
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    37
        programmatically.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    38
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    39
        * Packages don't have to be installed as egg archives, they can be installed
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    40
        flat (while keeping the egg metadata).
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    41
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    42
        * Native support for other version control systems (Git, Mercurial and Bazaar)
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    43
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    44
        * Uninstallation of packages.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    45
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    46
        * Simple to define fixed sets of requirements and reliably reproduce a
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    47
        set of packages.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    48
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    49
        pip is complementary with `virtualenv
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    50
        <http://pypi.python.org/pypi/virtualenv>`_, and it is encouraged that you use
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    51
        virtualenv to isolate your installation.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    52
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    53
        Community
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    54
        ---------
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    55
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    56
        The homepage for pip is temporarily located `on PyPI
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    57
        <http://pypi.python.org/pypi/pip>`_ -- a more proper homepage will
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    58
        follow.  Bugs can go on the `pip issue tracker
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    59
        <http://bitbucket.org/ianb/pip/issues/>`_.  Discussion should happen on the
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    60
        `virtualenv email group
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    61
        <http://groups.google.com/group/python-virtualenv?hl=en>`_.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    62
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    63
        Differences From easy_install
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    64
        -----------------------------
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    65
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    66
        pip cannot install some packages.  Specifically:
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    67
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    68
        * It cannot install from eggs.  It only installs from source.  (In the future it would be good if it could install binaries from Windows ``.exe`` or ``.msi`` -- binary install on other platforms is not a priority.)
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    69
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    70
        * It doesn't understand Setuptools extras (like ``package[test]``).  This should
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    71
        be added eventually.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    72
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    73
        * It is incompatible with some packages that customize distutils or setuptools
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    74
        in their ``setup.py`` files.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    75
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    76
        * Maybe it doesn't work on Windows.  At least, the author doesn't test on
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    77
        Windows often.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    78
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    79
        * It also has some extra features.  Extra features the author thinks are great.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    80
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    81
        Uninstall
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    82
        ---------
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    83
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    84
        pip is able to uninstall most installed packages with ``pip uninstall
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    85
        package-name``.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    86
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    87
        Known exceptions include pure-distutils packages installed with
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    88
        ``python setup.py install`` (such packages leave behind no metadata allowing
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    89
        determination of what files were installed), and script wrappers installed
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    90
        by develop-installs (``python setup.py develop``).
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    91
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    92
        pip also performs an automatic uninstall of an old version of a package
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    93
        before upgrading to a newer version, so outdated files (and egg-info data)
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    94
        from conflicting versions aren't left hanging around to cause trouble. The
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    95
        old version of the package is automatically restored if the new version
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    96
        fails to download or install.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    97
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    98
        .. _`requirements file`:
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
    99
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   100
        Requirements Files
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   101
        ------------------
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   102
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   103
        When installing software, and Python packages in particular, it's common that
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   104
        you get a lot of libraries installed.  You just did ``easy_install MyPackage``
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   105
        and you get a dozen packages.  Each of these packages has its own version.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   106
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   107
        Maybe you ran that installation and it works.  Great!  Will it keep working?
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   108
        Did you have to provide special options to get it to find everything?  Did you
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   109
        have to install a bunch of other optional pieces?  Most of all, will you be able
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   110
        to do it again?
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   111
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   112
        If you've ever tried to setup an application on a new system, or with slightly
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   113
        updated pieces, and had it fail, pip requirements are for you.  If you
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   114
        haven't had this problem then you will eventually, so pip requirements are
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   115
        for you too -- requirements make explicit, repeatable installation of packages.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   116
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   117
        So what are requirements files?  They are very simple: lists of packages to
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   118
        install.  Instead of running something like ``pip MyApp`` and getting
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   119
        whatever libraries come along, you can create a requirements file something like::
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   120
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   121
        MyApp
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   122
        Framework==0.9.4
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   123
        Library>=0.2
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   124
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   125
        Then, regardless of what MyApp lists in ``setup.py``, you'll get a specific
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   126
        version of Framework and at least the 0.2 version of Library.  (You might think
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   127
        you could list these specific versions in ``setup.py`` -- try it and you'll
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   128
        quickly see why that doesn't work.)  You can add optional libraries and support
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   129
        tools that MyApp doesn't strictly require.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   130
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   131
        You can also include "editable" packages -- packages that are checked out from
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   132
        Subversion, Git, Mercurial and Bazaar.  These are just like using the ``-e``
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   133
        option to pip.  They look like::
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   134
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   135
        -e svn+http://myrepo/svn/MyApp#egg=MyApp
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   136
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   137
        You have to start the URL with ``svn+`` (``git+``, ``hg+`` or ``bzr+``), and
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   138
        you have to include ``#egg=Package`` so pip knows what to expect at that URL.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   139
        You can also include ``@rev`` in the URL, e.g., ``@275`` to check out
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   140
        revision 275.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   141
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   142
        Freezing Requirements
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   143
        ---------------------
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   144
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   145
        So you have a working set of packages, and you want to be able to install them
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   146
        elsewhere.  `Requirements files`_ let you install exact versions, but it won't
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   147
        tell you what all the exact versions are.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   148
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   149
        To create a new requirements file from a known working environment, use::
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   150
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   151
        $ pip freeze > stable-req.txt
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   152
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   153
        This will write a listing of *all* installed libraries to ``stable-req.txt``
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   154
        with exact versions for every library.  You may want to edit the file down after
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   155
        generating (e.g., to eliminate unnecessary libraries), but it'll give you a
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   156
        stable starting point for constructing your requirements file.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   157
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   158
        You can also give it an existing requirements file, and it will use that as a
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   159
        sort of template for the new file.  So if you do::
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   160
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   161
        $ pip freeze -r devel-req.txt > stable-req.txt
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   162
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   163
        it will keep the packages listed in ``devel-req.txt`` in order and preserve
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   164
        comments.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   165
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   166
        Bundles
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   167
        -------
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   168
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   169
        Another way to distribute a set of libraries is a bundle format (specific to
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   170
        pip).  This format is not stable at this time (there simply hasn't been
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   171
        any feedback, nor a great deal of thought).  A bundle file contains all the
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   172
        source for your package, and you can have pip install them all together.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   173
        Once you have the bundle file further network access won't be necessary.  To
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   174
        build a bundle file, do::
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   175
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   176
        $ pip bundle MyApp.pybundle MyApp
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   177
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   178
        (Using a `requirements file`_ would be wise.)  Then someone else can get the
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   179
        file ``MyApp.pybundle`` and run::
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   180
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   181
        $ pip install MyApp.pybundle
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   182
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   183
        This is *not* a binary format.  This only packages source.  If you have binary
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   184
        packages, then the person who installs the files will have to have a compiler,
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   185
        any necessary headers installed, etc.  Binary packages are hard, this is
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   186
        relatively easy.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   187
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   188
        Using pip with virtualenv
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   189
        -------------------------
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   190
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   191
        pip is most nutritious when used with `virtualenv
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   192
        <http://pypi.python.org/pypi/virtualenv>`_.  One of the reasons pip
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   193
        doesn't install "multi-version" eggs is that virtualenv removes much of the need
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   194
        for it.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   195
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   196
        pip does not have to be installed to use it, you can run ``python
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   197
        path/to/pip.py`` and it will work.  This is intended to avoid the
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   198
        bootstrapping problem of installation.  You can also run pip inside
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   199
        any virtualenv environment, like::
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   200
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   201
        $ virtualenv new-env/
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   202
        ... creates new-env/ ...
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   203
        $ pip install -E new-env/ MyPackage
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   204
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   205
        This is exactly equivalent to::
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   206
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   207
        $ ./new-env/bin/python path/to/pip.py install MyPackage
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   208
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   209
        Except, if you have ``virtualenv`` installed and the path ``new-env/``
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   210
        doesn't exist, then a new virtualenv will be created.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   211
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   212
        pip also has two advanced features for working with virtualenvs -- both of
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   213
        which activated by defining a variable in your environment.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   214
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   215
        To tell pip to only run if there is a virtualenv currently activated,
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   216
        and to bail if not, use::
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   217
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   218
        export PIP_REQUIRE_VIRTUALENV=true
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   219
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   220
        To tell pip to automatically use the currently active virtualenv::
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   221
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   222
        export PIP_RESPECT_VIRTUALENV=true
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   223
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   224
        Providing an environment with ``-E`` will be ignored.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   225
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   226
        Using pip with virtualenvwrapper
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   227
        ---------------------------------
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   228
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   229
        If you are using `virtualenvwrapper
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   230
        <http://www.doughellmann.com/projects/virtualenvwrapper/>`_, you might
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   231
        want pip to automatically create its virtualenvs in your
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   232
        ``$WORKON_HOME``.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   233
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   234
        You can tell pip to do so by defining ``PIP_VIRTUALENV_BASE`` in your
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   235
        environment and setting it to the same value as that of
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   236
        ``$WORKON_HOME``.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   237
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   238
        Do so by adding the line::
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   239
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   240
        export PIP_VIRTUALENV_BASE=$WORKON_HOME
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   241
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   242
        in your .bashrc under the line starting with ``export WORKON_HOME``.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   243
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   244
        Using pip with buildout
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   245
        -----------------------
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   246
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   247
        If you are using `zc.buildout
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   248
        <http://pypi.python.org/pypi/zc.buildout>`_ you should look at
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   249
        `gp.recipe.pip <http://pypi.python.org/pypi/gp.recipe.pip>`_ as an
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   250
        option to use pip and virtualenv in your buildouts.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   251
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   252
        Command line completion
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   253
        -----------------------
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   254
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   255
        pip comes with support for command line completion in bash and zsh and
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   256
        allows you tab complete commands and options. To enable it you simply
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   257
        need copy the required shell script to the your shell startup file
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   258
        (e.g. ``.profile`` or ``.zprofile``) by running the special ``completion``
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   259
        command, e.g. for bash::
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   260
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   261
        $ pip completion --bash >> ~/.profile
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   262
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   263
        And for zsh::
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   264
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   265
        $ pip completion --zsh >> ~/.zprofile
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   266
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   267
        Alternatively, you can use the result of the ``completion`` command
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   268
        directly with the eval function of you shell, e.g. by adding::
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   269
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   270
        eval `pip completion --bash`
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   271
        
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   272
        to your startup file.
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   273
Keywords: easy_install distutils setuptools egg virtualenv
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   274
Platform: UNKNOWN
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   275
Classifier: Development Status :: 4 - Beta
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   276
Classifier: Intended Audience :: Developers
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   277
Classifier: License :: OSI Approved :: MIT License
6cee07c589cb Changes in path of some of the files ...
amit@thunder
parents:
diff changeset
   278
Classifier: Topic :: Software Development :: Build Tools