Skip to main content

Find project module directory relative to the running script.

Project description

Find project module directory relative to the running script.

This module will search the currently runnings script’s parent directory, and all successive parent directories up to the root directory for a module matching the base argument. If found, the directory is added to sys.path.

This is useful for sets of scripts that use custom project-specific modules that you don’t want to install into the system python modules folders.

Example usage:

import findmodules
findmodules.init(base='modules', realpath=True)

This example will search for a folder called “modules” in the current script’s directory, and all parent directories. Symlinks will be resolved first. If the directory is found, it will be appended to sys.path.

Parameters:

  • bin: Path to script file. Default is currently running script file

  • base: Name of base module directory to add to sys.path. Default is “lib”.

  • append: Append module directory to the end of sys.path, or insert at the beginning? Default is to append.

  • ignore: List of directories to ignore during the module search. Default is to ignore “/” and “/usr”.

  • realpath: Should symlinks be resolved first? Default is False.

  • pythonpath: Should the modules directory be added to the PYTHONPATH environment variable? Default is False.

  • throw: Should an exception be thrown if no modules directory was found? Default is False.

Returns:
  • The path to the modules directory if it was found, otherwise None.

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

findmodules-0.6.tar.gz (2.1 kB view details)

Uploaded Source

File details

Details for the file findmodules-0.6.tar.gz.

File metadata

  • Download URL: findmodules-0.6.tar.gz
  • Upload date:
  • Size: 2.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for findmodules-0.6.tar.gz
Algorithm Hash digest
SHA256 00b875a366f4f75a5c622694bb8e6e7b570b2ab2fa9c648d91666fec6e0faac4
MD5 a7c03aa7fed5d94c2ff3069a96c2e01d
BLAKE2b-256 ecd00fd50aa7c86b7d6e8420d9deb3dd0ce02e4fedf0f2d4fadb36d9851b0820

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page