Le blog de Patrick Vergain

"…mais ce serait peut-être l'une des plus grandes opportunités manquées de notre époque si le logiciel libre ne libérait rien d'autre que du code…"

Package/Distribute

Catégories

Python

pip_distribute

pip distribute

  • http://pypi.python.org/pypi/distribute (‘Download, build, install, upgrade, and uninstall Python packages — easily! Distribute is a friendly fork of the Setuptools project. Distribute is a friendly fork of the Setuptools project. )
    • http://bitbucket.org/tarek/distribute/wiki/Home
    • http://tarekziade.wordpress.com/2009/07/22/preparing-to-release-distribute-0-6/ (‘According to the poll, The name of the fork will be Distribute ! The code should not be changed anymore at this point, and I am working on the bootstraping so installing Distribute will work with an existing Setuptools installation and will replace it for the applications that requires it. This is done by detecting an installation of Setuptools, and replacing it with a fake installation. This means that once you’ve installed Distribute, applications and especially installers will think that setuptools 0.6c9 is installed.That’s pretty strong and intrusive, but required for a simple switch : even if the programs you are using have a setuptools dependency, they will work without requiring any change on the code or in their setup.py files. Same goes for zc.buildout apps.
  • http://pip.openplans.org/ (“pip is a replacement for easy_install. It uses mostly the same techniques for finding packages, so packages that were made easy_installable should be pipable as well…pip is complementary with virtualenv, and it is encouraged that you use virtualenv to isolate your installation. “)
  • http://docs.python.org/distutils/ (“This document describes the Python Distribution Utilities (“Distutils”) from the module developer’s point of view, describing how to use the Distutils to make Python modules and extensions easily available to a wider audience with very little overhead for build/release/install mechanics.“)
  • http://pip.openplans.org/ (“pip is a replacement for easy_install. It uses mostly the same techniques for finding packages, so packages that were made easy_installable should be pipable as well…pip is complementary with virtualenv, and it is encouraged that you use virtualenv to isolate your installation. “)
  • http://pypi.python.org/pypi/PasteScript/(“A pluggable command-line frontend, including commands to setup package file layouts. This is a pluggable command-line tool. It includes some built-in features; Create file layouts for packages. For instance, paste create --template=basic_package MyPackage will create a setuptools-ready file layout. Serving up web applications, with configuration based on paste.deploy.”)
  • http://grok.zope.org/documentation/how-to/using-virtualenv-for-a-clean-grok-installation (“Virtualenv is a python tool that allows you to create isolated python environments. It is great for simplifying the environment for your Grok installation so that you don’t run into version or permissions problems. It can also be used as a solution for installing python packages on machines where you do not have write access to the site-packages directory…The optional –no-site-packages switch means that none of your existing Python site-packages will be available in your new Python environment. This is desirable if you already have conflicting Python packages installed that you want to avoid (or might install such packages in the future)…VirtualEnv creates a shell file called activate which you can optionally use to alter your PATH environment variable so that you do not have to type the full path to your new Python”)
    • http://tarekziade.wordpress.com/2008/12/09/how-to-make-binary-distribution-of-buildouts/ (‘I need to distribute pre-compiled buildouts because some projects don’t allow us to have gcc installed on the production system for security reasons….I have changed plone.recipe.zope2install and added a new option called `smart-recompile` (in trunk right now, not released). If you use it, the recipe will check for .so or .pyd files before trying to ditch your zope 2 installation and recompile it. Even if you don’t use it to build binary distributions, it will make your buildout build faster if you already have zope compiled in there. Next, I have created a special bootstrap.py, who is clever enough to rebuild the buildout script with the right path to the used interpreter, and with offline-mode capabilities. To make it short : boostrap.py works no matter if you have an internet connection or not. Grab it here : http://ziade.org/bootstrap.py…)
  • http://pypi.python.org/pypi/enstaller/ (“The Enstaller project is a replacement for setuptools that builds on top of it and adds significant features. It is based on setuptools 0.6c9. It starts from the setuptools source and adds the enstaller entry point as well as specific improvements.”)
  • http://www.blueskyonmars.com/projects/paver/ (“Paver is a Python-based build/distribution/deployment scripting tool along the lines of Make or Rake. What makes Paver unique is its integration with commonly used Python libraries. Common tasks that were easy before remain easy. More importantly, dealing with your applications specific needs and requirements is now much easier.“)
  • http://pypi.python.org/pypi/Fabric/ (“Fabric is a simple pythonic remote deployment tool. It is designed to upload files to, and run shell commands on, a number of servers in parallel or serially. These commands are grouped in tasks (regular python functions) and specified in a ‘fabfile’. It is a bit like a dumbed down Capistrano, except it’s in Python, dosn’t expect you to be deploying Rails applications, and the ‘put’ command works. Unlike Capistrano, Fabric want’s to stay small, light, easy to change and not bound to any specific framework”)
  • http://pypi.python.org/pypi/metamake/ (“Metamake is a simple way to define common tasksis not a dependency-tracking build tool like Make, ant, qmake, SCons, Visual Studio, or XCode. Metamake is used with these build tools to orchestrate complex builds that work in a cross-platform fashion. and execute those tasks by name, similar to Rake. Metamake “)
  • http://www.kuwata-lab.com/kook/pykook-users-guide.html (“pyKook is a software build tool such as Make, Ant, SCons or Cook. It is implemented in Python and runs any platform Python support. Basic command (copy, move, rename, mkdir, …) is also implemented in Python and allows you to execute platform-depended command. pyKook liken build process to cooking. Input file is called ‘ingredient’, output is ‘product’, task is ‘recipe’, build file is ‘cookbook’. pyKook generates products from ingredients according to recipes. You describe products, ingredients, and recipes in cookbook. “)
  • http://www.artima.com/weblogs/viewpost.jsp?thread=241209 (“I’ve used make for many years. I only used ant because it produced faster Java builds. But both build systems started out thinking the problem was simple, and only later discovered that you really need a programming language to solve the build problem. By then it was too late. As a result you have to jump through annoying hoops to get things done…t turns out that decorators are perfect for this purpose. The design I present here is just a first cut, but it’s easy to add new features and I’ve already started using it as the build system for The Python Book, so I’ll probably need to add more features. Most importantly, I know I’ll be able to do anything that I want, which is not always true with make or ant (yes, you can extend ant but the cost of entry is often not worth the benefit).”)
  • http://www.epmhome.org/epm-book.html (“Software Distribution Using the ESP Package Manager. Software distribution under UNIX/Linux can be a challenge, especially if you ship software for more than one operating system. Every operating system provides its own software packaging tools and each has unique requirements or implications for the software development environment. The ESP Package Manager (“EPM”) is one solution to this problem. Besides its own “portable” distribution format, EPM also supports the generation of several vendor-specific formats. This allows you to build software distribution files for almost any operating system from the same sources.”)

distutils-flow1



Laisser un commentaire

XHTML: Vous pouvez utiliser ces étiquettes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>