Adds project root directories to sys.path for proper imports, with try/except to handle REPL environments (PyCharm, ipython, Jupyter) where __file__ is undefined.
Adds project root directories to sys.path for proper imports, with try/except to handle REPL environments (PyCharm, ipython, Jupyter) where __file__ is undefined.
Use when writing Python scripts that need to import from parent/grandparent directories and should also work in interactive environments.
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Claude CodeNot declared
CursorNot declared
CodexNot declared
GitHub CopilotNot declared
WindsurfNot declared
Gemini CLINot declared
ClineNot declared
OpenCodeNot declared
Package contents
Files included with this skill beyond the listing page.
skill mdSKILL.md2,025 B
docsSUMMARY.md337 B
History
First recorded snapshot · 0 installs
SKILL.md
REPL-Safe Import Fix
Overview
This skill provides a reusable pattern to add parent/grandparent directories to sys.path for proper imports, while gracefully handling REPL environments where file is not defined.
When To Use
Writing Python scripts in subdirectories that need to import from parent folders
Creating scripts that should work both as standalone files AND in REPL/interactive environments
Setting up import paths for scripts in src/scripts/, tests/, or similar nested directories
The Pattern
import sys
from pathlib import Path
try:
ROOT = Path(__file__).resolve().parents[2] # Adjust index: 1=parent, 2=grandparent
SRC_DIR = ROOT / "src"
LIB_DIR = ROOT / "lib"
for path in (SRC_DIR, LIB_DIR, ROOT):
path_str = str(path)
if path_str not in sys.path:
sys.path.insert(0, path_str)
except Exception:
"""REPL environments (PyCharm, ipython, Jupyter) don't set __file__."""
pass
# Now imports work from project root
from common import Utils # Works!