Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ofek/pybin
Cross-platform tool to put Python's user bin in PATH, no sudo/runas required!
https://github.com/ofek/pybin
cli linux macos packaging python scripts windows workaround
Last synced: 29 days ago
JSON representation
Cross-platform tool to put Python's user bin in PATH, no sudo/runas required!
- Host: GitHub
- URL: https://github.com/ofek/pybin
- Owner: ofek
- License: apache-2.0
- Created: 2017-08-31T20:53:58.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-04-14T16:10:27.000Z (over 5 years ago)
- Last Synced: 2024-10-04T13:13:40.571Z (about 2 months ago)
- Topics: cli, linux, macos, packaging, python, scripts, windows, workaround
- Language: Python
- Homepage:
- Size: 36.1 KB
- Stars: 22
- Watchers: 4
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.rst
- License: LICENSE-APACHE
Awesome Lists containing this project
README
pybin
=====.. image:: https://img.shields.io/pypi/v/pybin.svg?style=flat-square
:target: https://pypi.org/project/pybin
:alt: Latest PyPI version.. image:: https://img.shields.io/pypi/pyversions/pybin.svg?style=flat-square
:target: https://pypi.org/project/pybin
:alt: Supported Python versions.. image:: https://img.shields.io/pypi/l/pybin.svg?style=flat-square
:target: https://choosealicense.com/licenses
:alt: License-----
When you install a package via ``pip install --user ...``, any executables get
placed in a special directory specifically for the intended user. Unfortunately,
this location is most likely not included in your user's PATH variable. So for
example if you did ``pip3 install --user hatch`` and then tried to learn more
about your new tool by doing ``hatch --help``, it would fail to be located.
See: ``_pybin solves this problem by providing a small CLI, and corresponding API, to
locate your Python's user bin and optionally update the user PATH. It supports
all major operating systems and does not require elevated privileges!**Fear not, this only modifies the user PATH; the system PATH is never
touched nor even looked at!**.. contents:: ``Table of Contents``
:backlinks: noneInstallation
------------pybin is distributed on `PyPI `_ as a universal
wheel and is available on Linux/macOS and Windows and supports
Python 2.6-2.7/3.3+ and PyPy... code-block:: bash
$ pip install pybin
You may need ``sudo``. Do **NOT** use ``--user``!
Commands
--------Only 2!
pybin
^^^^^.. code-block:: bash
$ pybin -h
Usage: pybin [OPTIONS] COMMAND [ARGS]...Shows the location of the bin directory and whether or not it is in the
user PATH.Options:
-p, --pypath TEXT An absolute path to a Python executable.
--version Show the version and exit.
-h, --help Show this message and exit.Commands:
put Updates the user PATHpybin put
^^^^^^^^^.. code-block:: bash
$ pybin put -h
Usage: pybin put [OPTIONS]Updates the user PATH. The shell must be restarted for the update to take
effect.Options:
-p, --pypath TEXT An absolute path to a Python executable.
-f, --force Update PATH even if it appears to be correct.
-h, --help Show this message and exit.API
---.. code-block:: python
>>> from pybin import in_path, locate, put_in_path
>>> in_path()
False
>>> locate()
'C:\\Users\\Ofek\\AppData\\Roaming\\Python\\Python36\\Scripts'
>>> success = put_in_path()Manual modification
-------------------Use the location pybin shows in concert with this very comprehensive document
Java provides: ``_License
-------pybin is distributed under the terms of both
- `MIT License `_
- `Apache License, Version 2.0 `_at your option.