{ "info": { "author": "Anthon van der Neut", "author_email": "a.van.der.neut@ruamel.eu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "\nUsage:\n======\n\n- ``tox --scan`` shows previously found name to executable path mappings.\n- ``tox --scan PATTERN1 PATTERN2`` searches the patterns for python executables\n and stores paths found in that way for future use by ``tox``\n\nThis allows you to easily specify multiple python executables for ``tox`` to\nuse. Without the need for permanently or temporarily adding their paths to\nyour ``$PATH``, which does\nhave unacceptable side effects in all cases, except for direct commandline\ninvocation of ``tox`` via an alias (as you can guess not my typical usage).\n\nOn Windows the executables can be found via the registry. Therefore specifying\nPATTERNS to find executables is unnecessary and relatively cumbersome.\n``tox --scan registry`` will scan the registry for executable paths and\nadd provide these for future runs. This finally allows it to run ``tox`` on\nwindows without the need to clutter ``C:\\`` with python installs.\n\n\nInstallation\n============\n\nSince tox 2.0 the plugin mechanism based on ``pluggy`` is included in ``tox``.\nYou can just do:\n\n pip install tox_globinterpreter\n\nIf you install ``pytest`` (``pip install pytest``) to test this module\nitself, and you use the bash shell, make sure you rehash bash (``hash -r`` or\nre-activate the virtual environment.\n\n\nDefault tox interpreter finding behaviour\n=========================================\n\nNon-Windows\n-----------\n\n``tox`` searches through the ``$PATH`` specified paths for python executables\n(ToDo: check).\n\nFor many Linux distributions the system python (and more recently pythons, as\nboth 2.7.x and 3.4.X are used by system utilities as Linux distributions\nslowly moves to Python3) cannot be replaced by a newer micro version without\na lot of hassle. These newer micro versions should be installed in some\n\"other\" directory e.g. ``/opt/python/2.7.9``. Its ``bin`` directory cannot\nbe added to the normal PATH during startup as this will break some\nsystem programs relying on the older python micro version (and its additionally\ninstalled libraries).\n\nThis directory can temporarily be added to each invocation of ``tox`` by\nmaking an alias for ``tox``, but that doesn't work if ``tox`` is called from\na Makefile. And aliasing ``make`` to include that path can break invocations\nof system utilities from the same Makefile.\n\n\nWindows\n-------\n\nOn Windows ``tox`` looks for installations in ``C:\\\\python?.?`` and\ndetermines the version based on the directory name (ToDo: check).\n\nThis doesn't work when you have the python interpreters installed in the non\ndefault location, e.g. necessary when you want 64 and 32 bit versions\ninstalled, or when you have them installed under the more correct\n``C:\\Program Files\\`` or similar directory.\n\ntox_globinterpreter plugin extensions\n=====================================\n\nNon-Windows\n-----------\n\n``tox_globinterpreter`` adds one commandline option to ``tox``: ``--scan``.\nIf invoked with arguments, these arguments should be a pattern, or list of\npatterns that will be ``globb``-ed and ``shlex``-ed to form a mapping\nof base names to paths to python binaries that is then stored globally\nper user for future\nusage (under $XDG_CONFIG_HOME/tox, defaulting to ~/.config/tox).\nE.g.::\n\n tox --scan '/opt/python/2.?/bin/python?.?' ../../../opt/python/pypy*/bin/pypy\n\n(please note that only the second argument is not expanded by the shell, the\nfirst is quoted and expanded by ``tox_globinterpreter``).\n\nIf ``tox --scan`` is invoked without arguments, then the currently\nstored mapping (base name to executable)is printed out. E.g.::\n\n python2.7 /opt/python/2.7/bin/python2.7\n pypy /opt/python/pypy-2.5.0/bin/pypy\n\n(if the same base name is found multiple times, the **first** one in the list\nis used).\n\nIf the environment variable ``TOX_INTERPRETER_GLOBS`` is set this\nwill cause the python binaries to be searched for using the patterns\nspecified by that environment variable (expanded and searched every time).\n\nIf ``TOX_INTERPRETER_GLOBS`` is set it prevents the use of the `--scan`-ned\nlist, and either of them is set, the normal search through PATH is not\ndone.\n\nDuring ``--scan``-ning the base name (``py27``) to be used in the ``envlist``\nin ``tox.ini``, is determined based on the name of the binary if this\nincludes a version number (``python2.7``). if the binary equals ``python``\nthe base name (including version) is determined by invoking the interpreter.\nWhen expanding ``TOX_INTERPRETER_GLOBS``, this invocation to determine\nversion information is currently considered too expensive.\n\nWindows\n-------\n\n``tox_globinterpreter`` adds commandline options to ``tox``, the\nprimary one of which is: ``--scan``.\n\nOn windows you should specify\n``--scan c:/python/*/python.exe c:/pypy*/*/*/pyp.exe`` first to create a\nmapping of base names to paths. This doesn't get them from the registry\nas the registry is incomplete (only one of both 64 and 32 bit version\nof a particular CPython is registered, pypy is not registered at all).\n\nIf ``tox --scan`` is invoked without arguments, then the currently\nstored mapping is printed out. E.g.::\n\n python2.7 c:\\python\\2.7\\python2.7.exe\n python2.7 c:\\python\\2.7-32\\python2.7.exe\n\nIf you have 64 and 32 bit versions installed select the `-32` version by\ndoing::\n\n tox -r --32\n\n(This might be supported in ``tox`` itself at some point, currently you cannot\nspecify ``py27-32`` as the ``32`` part is never handed to\n``tox_get_python_executable``)\n\n\nHistory\n=======\n\nI originally implemented the possibility to specify the list of interpreters\nas a patch for ``tox`` for which I put in a PR that lingered for two years\n(with repeated updates) until I was asked to update it (once more, but this\ntime by the author of tox). Shortly after the plugin interface was provided\nand this plugin for ``tox`` replaces the earlier PR requests ``tox``.\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/ruamel/tox-globinterpreter", "keywords": "", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "tox-globinterpreter", "package_url": "https://pypi.org/project/tox-globinterpreter/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/tox-globinterpreter/", "project_urls": { "Homepage": "https://bitbucket.org/ruamel/tox-globinterpreter" }, "release_url": "https://pypi.org/project/tox-globinterpreter/0.3/", "requires_dist": null, "requires_python": "", "summary": "tox plugin to allow specification of interpreter locationspaths to use", "version": "0.3" }, "last_serial": 2498786, "releases": { "0.1.8": [ { "comment_text": "", "digests": { "md5": "cd5bdcc978896f3cea3031b9aef86ce9", "sha256": "d5f783b87bc04754388f3fa67b4141409584bda419aab0ec5c7820f4bccdff5e" }, "downloads": -1, "filename": "tox-globinterpreter-0.1.8.tar.gz", "has_sig": false, "md5_digest": "cd5bdcc978896f3cea3031b9aef86ce9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8109, "upload_time": "2015-05-20T07:36:14", "url": "https://files.pythonhosted.org/packages/96/61/a5b829427da8fd4c8e1f0a2094780f9e2e8337cc5ca4008f9b9fdfbeffd3/tox-globinterpreter-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "391509c20d51769db49f9ef8bec13a45", "sha256": "c2656f3f1d8d561db6bb2a39d8e98f89e4cef4438f33e9142c5523c19e3fd0f7" }, "downloads": -1, "filename": "tox-globinterpreter-0.1.9.tar.gz", "has_sig": false, "md5_digest": "391509c20d51769db49f9ef8bec13a45", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8061, "upload_time": "2015-05-27T16:02:05", "url": "https://files.pythonhosted.org/packages/80/ed/32e9ed426fd1ad01eedbd64bfbe2c4bc4cf6c95adb021d4fca36647818dc/tox-globinterpreter-0.1.9.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "bda4eff96126907de60d8cb62152cc08", "sha256": "8ee2868a37e45b6d52bd7a1bf1883a569b6909c64847ae2d1729516309d4d8e9" }, "downloads": -1, "filename": "tox-globinterpreter-0.2.tar.gz", "has_sig": false, "md5_digest": "bda4eff96126907de60d8cb62152cc08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8060, "upload_time": "2015-06-05T07:37:42", "url": "https://files.pythonhosted.org/packages/9c/e0/e793138d5239d78c79de50eee4d39d4edd5d9e5924e826830bd4bb665d3d/tox-globinterpreter-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "262b6c7d35ae5cb2026c89517f637801", "sha256": "21c5e91fc2baa9e2e81f9ae10cf59dd0f58012c61936068e6960eca98129d86f" }, "downloads": -1, "filename": "tox-globinterpreter-0.3.tar.gz", "has_sig": false, "md5_digest": "262b6c7d35ae5cb2026c89517f637801", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7315, "upload_time": "2016-12-04T17:11:14", "url": "https://files.pythonhosted.org/packages/54/7a/b14d5200cad77103dc6e76aab3ef558bfd4028a17fda3823a380c0581509/tox-globinterpreter-0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "262b6c7d35ae5cb2026c89517f637801", "sha256": "21c5e91fc2baa9e2e81f9ae10cf59dd0f58012c61936068e6960eca98129d86f" }, "downloads": -1, "filename": "tox-globinterpreter-0.3.tar.gz", "has_sig": false, "md5_digest": "262b6c7d35ae5cb2026c89517f637801", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7315, "upload_time": "2016-12-04T17:11:14", "url": "https://files.pythonhosted.org/packages/54/7a/b14d5200cad77103dc6e76aab3ef558bfd4028a17fda3823a380c0581509/tox-globinterpreter-0.3.tar.gz" } ] }