{ "info": { "author": "Matt Bullock", "author_email": "m@ttsb42.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: Implementation :: CPython" ], "description": "############\npipx-in-pipx\n############\n\n.. image:: https://img.shields.io/pypi/v/pipipxx.svg\n :target: https://pypi.python.org/pypi/pipipxx\n :alt: Latest Version\n\n.. image:: https://img.shields.io/pypi/pyversions/pipipxx.svg\n :target: https://pypi.python.org/pypi/pipipxx\n :alt: Supported Python Versions\n\n.. image:: https://img.shields.io/badge/code_style-black-000000.svg\n :target: https://github.com/ambv/black\n :alt: Code style: black\n\n\n+----------+-----------------+---------------------------------+\n| docs | read-the-docs | |Read The Docs| |\n+----------+-----------------+---------------------------------+\n| linux | static analysis | |Travis CI| |\n+----------+-----------------+---------------------------------+\n| linux | CPython 3.7 | |CodeBuild Linux CPython 3.7| |\n+----------+-----------------+---------------------------------+\n| windows | CPython 3.7 | |CodeBuild Windows CPython 3.7| |\n+----------+-----------------+---------------------------------+\n\n\n.. |Read The Docs| image:: https://readthedocs.org/projects/pipx-in-pipx/badge/\n :target: https://pipx-in-pipx.readthedocs.io/\n :alt: Documentation Status\n.. |Travis CI| image:: https://travis-ci.org/mattsb42/pipx-in-pipx.svg?branch=master\n :target: https://travis-ci.org/mattsb42/pipx-in-pipx\n :alt: Travis CI Test Status\n.. |CodeBuild Linux CPython 3.7| image:: https://codebuild.us-west-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiZi9uT0MrNGNXV2RSbitIdTBhM1BXTDBSR2ZjbEZmK3lBTmUxS1hkbUc5azFXVDIwdnFOdjRwUG95QnNHUDFwV0xjemhXcDcvVjdaNFEweGdVRFBsdEZNPSIsIml2UGFyYW1ldGVyU3BlYyI6Ik9TRWdNbmpMKzRwZGxvMUIiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=master\n :target: https://us-west-2.console.aws.amazon.com/codesuite/codebuild/projects/LinuxCodeBuild-s5JgvxjQs15C/history?region=us-west-2\n :alt: Linux Python 3.7\n.. |CodeBuild Windows CPython 3.7| image:: https://codebuild.us-west-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiQ1BUdWNIamZaZUpnRkVBdTZxbmJkNmVrMnpCWnlBbFZvVkcyNmp1cG1tZ2dkVzVMYzR1OHE1VnRmZTFSaGhLQ29vK2ZPZEJvKzJwWFhVVTdIZ2dzNjVnPSIsIml2UGFyYW1ldGVyU3BlYyI6Ildkdkw3OW5zdmRmTFQydVAiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=master\n :target: https://us-west-2.console.aws.amazon.com/codesuite/codebuild/projects/WindowsCodeBuild-BVQ5nOqkXcWR/history?region=us-west-2\n :alt: Linux Python 3.7\n\n\n`pipx`_ is great for keeping your CLI tools isolated and your system Python paths clean.\nHowever, it still requires that you install `pipx`_ *itself* in your system Python.\n\nBut `pipx`_ is a CLI tool installed through ``pip``...why not install `pipx`_ with `pipx`_?\nWhy not indeed!\n\n\nWith ``pipx-in-pipx``, all you need to do is install :\n\n.. code:: shell\n\n $ pip install pipx-in-pipx\n\nBut wait! You say.\nDidn't you just say that we shouldn't install things to system Python?\n\nYes.\nWhat ``pipx-in-pipx`` actually does is slightly (but only slightly) evil.\nRather than actually installing anything when you run \"install\",\n``pipx-in-pipx`` instead builds a temporary virtual environment,\ninstalls `pipx`_ there,\nand then uses *that* `pipx`_ to install `pipx`_ in your user local space,\njust like any other `pipx`_-installed tool.\n\nWhat you end up with is a `pipx`_ installation that is *itself* managed by `pipx`_.\n\n\nSharp Edges\n***********\n\nWhich Python?\n=============\n\nBy default, `pipx`_ uses its own Python for each environment that it creates.\nNormally, this would be the system Python, whatever it was when you installed `pipx`_.\nHowever, when your are using a ``pipx-in-pipx``-installed `pipx`_,\nthe default Python that `pipx`_ uses for each environment it creates is instead\nwhatever Python you used to \"install\" ``pipx-in-pipx``.\n\nThis has two notable side effects:\n\n#. If you uninstall your `pipx`_-managed `pipx`_,\n then all of the tools that you installed using that `pipx`_ will stop working\n because their Pythons suddenly point to nothing.\n#. If you want to change the Python used by all of your `pipx`_-managed tools,\n you only need to reinstall one of them (`pipx`_) rather than reinstalling all of them.\n\n\nUninstalling\n============\n\n`pipx`_ has a handy feature to uninstall *all* `pipx`_-managed tools.\nBecause you have now made `pipx`_ manage itself,\nrunning ``pipx uninstall-all`` *will also* uninstall `pipx`_.\n\nThis is not a bug, but a feature.\nBy installing `pipx`_ using ``pipx-in-pipx``,\nyou have expressed an intent that you *want* `pipx`_ to manage itself.\nIf that's not what you want, this is not the tool for you.\n\nIf you at any point uninstall your `pipx`_-managed `pipx`_,\nyou can simply ``pip install pipx-in-pipx`` again to rebuild it.\n\n\n.. _pipx: https://pipxproject.github.io/pipx/", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mattsb42/pipipxx", "keywords": "pipipxx pipx", "license": "Apache 2.0", "maintainer": "Matt Bullock", "maintainer_email": "", "name": "pipx-in-pipx", "package_url": "https://pypi.org/project/pipx-in-pipx/", "platform": "", "project_url": "https://pypi.org/project/pipx-in-pipx/", "project_urls": { "Homepage": "https://github.com/mattsb42/pipipxx" }, "release_url": "https://pypi.org/project/pipx-in-pipx/1.0.1/", "requires_dist": null, "requires_python": "", "summary": "pipipxx (pronounced pipx in pipx): Bootstrap your pipx with pipx.", "version": "1.0.1", "yanked": false, "yanked_reason": null }, "last_serial": 6037964, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "098a3d26ec846fec76275aa19249d684", "sha256": "fe530adca6fb2ce9b733ce4ae9cb22551b9f86e370813cfe96238261f322ac11" }, "downloads": -1, "filename": "pipx-in-pipx-0.0.1.tar.gz", "has_sig": false, "md5_digest": "098a3d26ec846fec76275aa19249d684", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1057, "upload_time": "2019-05-27T00:40:48", "upload_time_iso_8601": "2019-05-27T00:40:48.046947Z", "url": "https://files.pythonhosted.org/packages/88/c8/b5d04c522e0b020945e3b8fdcc04fb01c0c7c15a9c07f06cc15a58c89025/pipx-in-pipx-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "d84fd0d5dd34b8edbcf3e2e04f81e462", "sha256": "7a828eb372fd3392076a4261182d4f481df1b16510636242e2f20891b92e8109" }, "downloads": -1, "filename": "pipx-in-pipx-1.0.1.tar.gz", "has_sig": false, "md5_digest": "d84fd0d5dd34b8edbcf3e2e04f81e462", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11493, "upload_time": "2019-10-27T18:46:17", "upload_time_iso_8601": "2019-10-27T18:46:17.734789Z", "url": "https://files.pythonhosted.org/packages/f8/31/944ecb8cff1d43b84674de558d136e8491d2d70afc3001aa8bb854e58894/pipx-in-pipx-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d84fd0d5dd34b8edbcf3e2e04f81e462", "sha256": "7a828eb372fd3392076a4261182d4f481df1b16510636242e2f20891b92e8109" }, "downloads": -1, "filename": "pipx-in-pipx-1.0.1.tar.gz", "has_sig": false, "md5_digest": "d84fd0d5dd34b8edbcf3e2e04f81e462", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11493, "upload_time": "2019-10-27T18:46:17", "upload_time_iso_8601": "2019-10-27T18:46:17.734789Z", "url": "https://files.pythonhosted.org/packages/f8/31/944ecb8cff1d43b84674de558d136e8491d2d70afc3001aa8bb854e58894/pipx-in-pipx-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }