{ "info": { "author": "Ryan Kelly", "author_email": "rfk@cloudmatrix.com.au", "bugtrack_url": null, "classifiers": [], "description": "myppy: make you a portable python\n==================================\n\n \nMyppy is a set of tools for building and managing a portable python environment.\nThe end result is something similar in spirit to `portable python`_ but can\nbe built for a variety of different platforms.\n\nCurrently targeted build environments are linux-i686 and OSX. When I work out\nhow to build on win32 without firing up Visual Studio, I'll add that as well.\n\nThe secret sauce is basically:\n\n * Using the `autopackage build tools`_ to hide newer glibc symbols on Linux,\n so that compiled libs can be used unmodified on older boxen.\n\n * Setting MACOSX_DEPLOYMENT_TARGET=10.4 and building universal binaries\n on OSX.\n\n * Setting the rpath or loader_path on all shared libs to a sensible value,\n so that their deps can be found regardless of where the myppy env is\n located.\n\nSome things haven't quite been sorted out yet:\n\n * Scripts installed by easy_install and pip embed the absolute path to the\n interpreter in the shebang line; they should be replaced by a loader stub\n that finds python at runtime.\n\n * distutils and sysconfig embed the absolute library paths as they were at\n build time, meaning you can't properly build C-extensions if you move the\n environment around. They should be patched in a simlar way to virtualenv.\n\n\nBuilding a myppy environment\n----------------------------\n\nTo build a myppy environment, you'll need some basic command-line build tools\nand a recent version of gcc. Initialise a new myppy env with the following\ncommand::\n\n #> myppy PATH/TO/ENV init\n\nThis will build and set up a basic python installation (currently python 2.6.6)\nalong with setuptools and pip. Most python packages can be installed directly\nusing pip. For packages with more complex needs a myppy \"recipe\" is provided,\nand you can install them using e.g.::\n\n #> myppy PATH/TO/ENV install py_wxpython\n\nThis would build and install a custom wxPython version that is patched to \nbe more portable.\n\n\nUsing a myppy environment\n-------------------------\n\nIn the top level of a myppy environment there are three shell scripts named\n\"python\", \"myppy\" and \"shell\". These set up some relevant environment vars\nand then chainload the appropriate command.\n\nHere's how you might get a shell inside a myppy envionment, then install a\nthird-party package using pip::\n\n #>\n #> PATH/TO/ENV/shell\n myppy(ENV):$\n myppy(ENV):$ pip install esky\n ...lots of output as esky is installed...\n myppy(ENV):$\n myppy(ENV):$ \n #>\n \n\nWhat is it good for?\n--------------------\n\nWhy, everything that something like `portable python`_ is good for, but on\nLinux or OSX instead of Windows! Use it as a convenient portable scripting or\ntesting environment, or to run multiple python versions side-by-side.\n\nOne thing it's particularly good for (actually, the reason it was created) is\nbuilding frozen Python apps. Myppy comes with recipes for patched of cx-freeze\nand py2app that will build stand-alone applications having the same portability\nas the myppy env itself - meaning they should run anywhere from ancient Red Hat\ndistros to the latest Ubuntu release.\n\nMyppy also has a few modifications that make it play nicely with other tools\nfor building frozen applications, such as `esky`_ and `signedimp`_, mostly to\ndo with what modules are avilable as builtins.\n\n\n\nReferences\n----------\n\n.. _autopackage build tools: http://autopackage.org/aptools.html\n\n.. _portable python: http://www.portablepython.com/\n\n.. _esky: http://pypi.python.org/pypi/esky/\n\n.. _signedimp: http://pypi.python.org/pypi/signedimp/", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/cloudmatrix/myppy/", "keywords": "portable", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "myppy", "package_url": "https://pypi.org/project/myppy/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/myppy/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/cloudmatrix/myppy/" }, "release_url": "https://pypi.org/project/myppy/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "Make You a Portable Python", "version": "0.1.0" }, "last_serial": 795152, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ccb9a3a8c3a262495ebf6c7847267831", "sha256": "6b98a0b91f21cb088c9828fe94abb005860417e2548703d460417fc6201e7ea2" }, "downloads": -1, "filename": "myppy-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ccb9a3a8c3a262495ebf6c7847267831", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28200, "upload_time": "2010-12-02T00:09:33", "url": "https://files.pythonhosted.org/packages/43/08/97f79a02533bb869888ee044c09c80820b4ca4af870284376d680dabcfdc/myppy-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ccb9a3a8c3a262495ebf6c7847267831", "sha256": "6b98a0b91f21cb088c9828fe94abb005860417e2548703d460417fc6201e7ea2" }, "downloads": -1, "filename": "myppy-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ccb9a3a8c3a262495ebf6c7847267831", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28200, "upload_time": "2010-12-02T00:09:33", "url": "https://files.pythonhosted.org/packages/43/08/97f79a02533bb869888ee044c09c80820b4ca4af870284376d680dabcfdc/myppy-0.1.0.tar.gz" } ] }