Skip to main content

Automatically add parent directories to sys.path in Python

Project description

๐Ÿ“Œ addpath ํŒจํ‚ค์ง€ README (Markdown ํ˜•์‹, ํ•œ๊ธ€ ๋ฒ„์ „)

๐Ÿ“ข ์ด ํŒจํ‚ค์ง€๋Š” Python์—์„œ ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ sys.path์— ์ถ”๊ฐ€ํ•˜์—ฌ, ๋ถˆํ•„์š”ํ•œ sys.path.insert() ํ˜ธ์ถœ์„ ์ค„์ด๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

# ๐Ÿ“Œ addpath - Python์—์„œ ์ž๋™์œผ๋กœ ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ํŒจํ‚ค์ง€

## ๐Ÿš€ ์†Œ๊ฐœ
`addpath`๋Š” Python์—์„œ **์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ `sys.path`์— ์ถ”๊ฐ€**ํ•˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ ํŒจํ‚ค์ง€์ž…๋‹ˆ๋‹ค.  
๋” ์ด์ƒ `sys.path.insert(0, "..")` ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณตํ•ด์„œ ์ž‘์„ฑํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค!

## ๐Ÿ“Œ ์„ค์น˜ ๋ฐฉ๋ฒ•
PyPI์—์„œ ๋ฐ”๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

```sh
pip install addpath

๋˜๋Š” GitHub์—์„œ ์ง์ ‘ ์„ค์น˜ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

pip install git+https://github.com/noggong/addpath.git

๐Ÿš€ ์‚ฌ์šฉ๋ฒ•

1๏ธโƒฃ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

import addpath

# ํ˜„์žฌ ์Šคํฌ๋ฆฝํŠธ์˜ ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ sys.path์— ์ถ”๊ฐ€
addpath.add_parent_path()

โœ… ์ด์ œ ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ๋ชจ๋“ˆ์„ ๋ฐ”๋กœ importํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

2๏ธโƒฃ ํŠน์ • ๋ ˆ๋ฒจ์˜ ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ ์ถ”๊ฐ€

๊ธฐ๋ณธ์ ์œผ๋กœ add_parent_path() ํ•จ์ˆ˜๋Š” ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํŒŒ์ผ์˜ 1๋‹จ๊ณ„ ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ sys.path์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜, ๋” ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด levels ๊ฐ’์„ ์กฐ์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

# ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ 2๋‹จ๊ณ„ ์ถ”๊ฐ€
addpath.add_parent_path(levels=2)

โœ… ์ด์ œ ๋‘ ๋‹จ๊ณ„ ์œ„์— ์žˆ๋Š” ํŒจํ‚ค์ง€๋„ importํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“Œ ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

my_project/
โ”‚โ”€โ”€ main.py
โ”‚โ”€โ”€ src/
โ”‚   โ”‚โ”€โ”€ my_module.py

๐Ÿ“Œ ์˜ˆ์ œ ์ฝ”๋“œ (src/my_module.py)

def hello():
    return "์•ˆ๋…•ํ•˜์„ธ์š”! addpath๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŽธ๋ฆฌํ•ด์š”."

๐Ÿ“Œ main.py์—์„œ my_module.py๋ฅผ importํ•˜๋Š” ๋ฐฉ๋ฒ•

import addpath
addpath.add_parent_path()

import my_module
print(my_module.hello())  # "์•ˆ๋…•ํ•˜์„ธ์š”! addpath๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŽธ๋ฆฌํ•ด์š”."

โœ… ๋” ์ด์ƒ sys.path.insert()๋ฅผ ๋ฐ˜๋ณตํ•ด์„œ ์ถ”๊ฐ€ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค!


๐Ÿ“Œ ์ž๋™์œผ๋กœ sys.path๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ

  • ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๊ฐ€ ๋ณต์žกํ•œ ๊ฒฝ์šฐ
  • ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์—์„œ ๋ถ€๋ชจ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ชจ๋“ˆ์„ ๋ถˆ๋Ÿฌ์™€์•ผ ํ•  ๋•Œ
  • Jupyter Notebook์—์„œ ์™ธ๋ถ€ ๋ชจ๋“ˆ์„ ์‰ฝ๊ฒŒ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ์‹ถ์„ ๋•Œ
  • Python ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ์‹œ ๋ถˆํ•„์š”ํ•œ sys.path.append() ์ฝ”๋“œ ์—†์ด ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์„ ๋•Œ

๐Ÿš€ ๊ธฐ๋Šฅ ์ •๋ฆฌ

โœ” add_parent_path(levels=1) โ†’ ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ levels๋งŒํผ ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ sys.path์— ์ถ”๊ฐ€
โœ” pip install addpath โ†’ ์–ด๋””์„œ๋“  ๊ฐ„ํŽธํ•˜๊ฒŒ ์„ค์น˜ ํ›„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
โœ” Python 3.6 ์ด์ƒ ์ง€์› ๐Ÿš€


๐Ÿ“Œ ๋ผ์ด์„ ์Šค

์ด ํ”„๋กœ์ ํŠธ๋Š” MIT ๋ผ์ด์„ ์Šค๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉ ๋ฐ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“Œ ๊ธฐ์—ฌ ๋ฐฉ๋ฒ•

addpath ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, GitHub์—์„œ Fork ํ›„ PR์„ ๋ณด๋‚ด์ฃผ์„ธ์š”! ๐Ÿš€

git clone https://github.com/yourusername/addpath.git
cd addpath
pip install -e .

โœ… ์ด์ œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ addpath๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿš€๐Ÿ”ฅ


๐Ÿ“Œ ์ด์ œ Python ํ”„๋กœ์ ํŠธ์—์„œ sys.path ๋ฌธ์ œ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐํ•˜์„ธ์š”! ๐Ÿš€


โœ… **Markdown ๋ฌธ๋ฒ•์ด ์ ์šฉ๋œ README๋กœ, ๋ฐ”๋กœ GitHub์ด๋‚˜ PyPI์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค!** ๐Ÿš€๐Ÿ”ฅ

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

addpath-0.1.0.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

addpath-0.1.0-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file addpath-0.1.0.tar.gz.

File metadata

  • Download URL: addpath-0.1.0.tar.gz
  • Upload date:
  • Size: 2.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for addpath-0.1.0.tar.gz
Algorithm Hash digest
SHA256 83d3b4312a330c80d59b40cad5aaef6930a51b899bd54d71d9b8f8c56a150b38
MD5 8d5141cc48b837ab402ffe5449f82e6c
BLAKE2b-256 2413a569d31d0cf122a1beaa6a10419dab7cbf3d9e9aa6ab77b9230884216aba

See more details on using hashes here.

File details

Details for the file addpath-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: addpath-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for addpath-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a607d507a007f5d73bf04b7f74fb95a29a932bd42385d702f2703fc050edd484
MD5 2d956aff603218181d274c8d62e57928
BLAKE2b-256 a53d37b8447a816eacfcb821642268ab91bfb1b6d33a3d3c9ac5ff1effb2d093

See more details on using hashes here.

Supported by

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