Reading and editing Windows PATH.
Project description
🛁 pathtub
Reading and editing Windows PATH variables and ensuring python finds your DLLs.
✅ Ensuring that a folder exists in Path.
🔗 Ensuring that DLL(s) are found by python.
🧽 Cleaning the PATH (duplicates, removed folders, sorting)
✏️ Adding or removing folders to/from Path (temporary or permanently)
Installing
pip install pathtub
Usage
✅ Ensuring folder is in PATH
from pathtub import ensure
folder_to_add = r'C:\something to add to path\folder'
# 1) Check Process PATH
# 2) Add to Process PATH if not found
# 3) Add also to User PATH (permanent), if 2) happens
ensure(folder_to_add, permanent=True)
What is ensure()?
ensure(folder)
checks if folder
is in Process PATH
- If
folder
is in Process PATH, does nothing - If
folder
is not in Process PATH, adds it to Process PATH - If
folder
is not in Process PATH andpermanent=True
, adds also to the User PATH or System PATH, depending on thepermanent_mode
.
⚠️ If you want to ensure a DLL folder is visible to python, use ensure_dll
instead.
🔗 Ensuring that DLL(s) are found
from pathtub import ensure_dll
dll_folder = r'C:\path to\libusb-1.0.21\MS32\dll'
ensure_dll(dll_folder)
ensure_dll()
is for making sure that python finds needed DLL's (and the DLL's find their dependencies, if any.)- You may use
ensure_dll
andforget_dll
for adding and removing dll folder to/from search path. - See also: Example of using ensure_dll and forget_dll
🧽 Cleaning PATH
from pathtub import clean
# Default parameter values shown
clean(sort=True, remove_non_existent=True, remove_user_duplicates=True)
What does it do
- Removes duplicates and empty entries (
;;
) from the "User PATH" and "System PATH" (trailing backslash neglected when comparing two folders). Editing "System PATH" needs that python is executed with Admin rights. - Sorts PATH(s) alphabetically (optional, enabled by default). Controlled with the
sort
parameter. - Removes folders from PATH(s) that do not exist on the filesystem (optional, enabled by default). Controlled with the
remove_non_existent
-parameter. - Removing from "User PATH" the entries that are in the "System PATH" (optional, enabled by default). Controlled with the
remove_user_duplicates
-parameter.
Screenshots of User PATH before and after clean:
- For more detailed example, see Full example of pathtub.clean
- Full documentation of
clean()
is in the source code (pathtools.py).
Rest of the docs
Did not find what you were looking for? See the Rest of the docs.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pathtub-1.1.2.tar.gz
(8.2 kB
view details)
File details
Details for the file pathtub-1.1.2.tar.gz
.
File metadata
- Download URL: pathtub-1.1.2.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ebeb1a9afcb2a548deeb4302e839be7574b02bafcf405022d4fa0fb06c07d7b |
|
MD5 | 8792e4e6e98414caf7367c9bcd43fb26 |
|
BLAKE2b-256 | 6ff814a84ce834fee7c2712bdd5f10e622027ce6b57773da8bde6c0ca4295136 |