Commits

Stan Seibert committed 95e28b3

More documentation fixes, and note about not using pip -e to install shrinkwrap

Comments (0)

Files changed (3)

   for the presence of ``$VIRTUAL_ENV`` and will throw an exception if it is not
   found.
 
-* Shrinkwrapped packages have only tested to work with ``pip`` as the installer.
-  We do not support using ``easy_install``, although it might work.
+* Shrinkwrapped packages have only been tested to work with ``pip`` as the 
+  installer. We do not support using ``easy_install``, although it might work.
 
 * ``pip uninstall`` does not remove files installed by the package because we
   do not yet have a way to track changes made by arbitrary installer functions
 shrinkwrap: Python packaging for everything
 ===========================================
-Shrinkwrap provides tools to create lightweight Python package wrappers around non-Python software, and to install such software from project-specific repositories using virtualenv and pip.
 
-A shrinkwrap package is a minimal python package that downloads, compiles and installs software to the virtualenv base directory.  The shrinkwrap package behaves just like a regular python package, so both shrinkwrap and non-shrinkwrap packages can be dependencies of each other.  We find that this greatly simplifies deployment of Python packages that depend on compiled libraries *without* requiring the use of system-wide packaging tools, like apt or yum.  Shrinkwrap is **not** an API wrapper generator like `SWIG <http://www.swig.org/>`_, but does make it easier to install C libraries into a virtualenv before installing a separate Python wrapper around its API.
+Shrinkwrap provides tools to create lightweight Python package wrappers around
+non-Python software, and to install such software from project-specific
+repositories using virtualenv and pip.
+
+A shrinkwrap package is a minimal python package that downloads, compiles and
+installs software to the virtualenv base directory.  The shrinkwrap package
+behaves just like a regular python package, so both shrinkwrap and non-
+shrinkwrap packages can be dependencies of each other.  We find that this
+greatly simplifies deployment of Python packages that depend on compiled
+libraries *without* requiring the use of system-wide packaging tools, like apt
+or yum.  Shrinkwrap is **not** an API wrapper generator like `SWIG
+<http://www.swig.org/>`_, but does make it easier to install C libraries into
+a virtualenv before installing a separate Python wrapper around its API.
 
 .. warning:: To avoid cluttering PyPI with non-Python software, please do not ever upload shrinkwrap-generated packages there!  Hosting shrinkwrap packages yourself is easy, and described further in :ref:`running_package_index`.
 
-Shrinkwrap is `available on PyPI <http://pypi.python.org/pypi/shrinkwrap/0.7>`_ and can be installed via ``pip install shrinkwrap``, ``easy_install shrinkwrap``, or by downloading the package and installing with ``python setup.py install``.
+Shrinkwrap is `available on PyPI <http://pypi.python.org/pypi/shrinkwrap/>`_ and can be installed via ``pip
+install shrinkwrap``, ``easy_install shrinkwrap``, or by downloading the
+package and installing with ``python setup.py install``.
 
-For those interested in the newest features should use the development version of shrinkwrap, `available on bitbucket <https://bitbucket.org/seibert/shrinkwrap>`_::
+For those interested in the newest features should use the development version
+of shrinkwrap, `available on bitbucket <https://bitbucket.org/seibert/shrinkwrap>`_::
 
     hg clone http://bitbucket.org/seibert/shrinkwrap
 
-which you can install to a virtualenv::
-
-	pip install -e hg+http://bitbucket.org/seibert/shrinkwrap#egg=shrinkwrap
+Note that you cannot directly install shrinkwrap from the Mercurial repository
+to a virtualenv with the ``pip -e`` command, as this appears to bypass our
+post- installation tasks.  Running ``python setup.py install`` from the cloned
+repository is fine, however.
 
 Contents
 ========

doc/packaging.rst

 
     python curl-7.27.0.py install
 
-The boilerplate at the top of the script is required to ensure that shrinkwrap is installed before setuptools is imported.
+The boilerplate at the top of the script is required to ensure that shrinkwrap is installed before setuptools is imported.  The ``cmdclass`` option must be set as shown above in order to use the ``ShrinkwrapInstall`` command rather than the default install command provided by setuptools.
 
 The filename of the python script is not used by shrinkwrap.
 
 Packaging for a package index
 -----------------------------
 
-To share shrinkwrap packages via a package index like PyPI (but don't upload
-shrinkwrap packages to PyPI!!), you must create distribution tarballs.
+To share shrinkwrap packages via a package index like PyPI (remember: don't actually upload
+shrinkwrap packages to PyPI), you must create distribution tarballs.
 Shrinkwrap includes a tool to create these automatically from wrapper
 setup.py files::
 
 Running your own package index
 ------------------------------
 
-As mentioned in :ref:`limitations` section, shrinkwrap packages are small and
+As mentioned in the :ref:`limitations` section, shrinkwrap packages are small and
 easy to deploy.  It is better to have different package repositories when you
 want to build a source package with different options in different situations,
 rather than have One Repository To Rule Them All [#onerepo]_ .
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.