Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

Cross-platform tool to put Python's user bin in PATH, no sudo/runas required!

Project description

Latest PyPI version Supported Python versions 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: https://github.com/pypa/pip/issues/3813

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!

Installation

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.

$ pip install pybin

Do not use --user!

Commands

Only 2!

pybin

$ 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 PATH

pybin put

$ 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

>>> 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: https://www.java.com/en/download/help/path.xml

License

pybin is distributed under the terms of both

at your option.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
pybin-0.3.4-py2.py3-none-any.whl (7.9 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Sep 3, 2017
pybin-0.3.4.tar.gz (9.0 kB) Copy SHA256 hash SHA256 Source None Sep 3, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page