Autojump: ImportError: autojump_argparse๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2015๋…„ 10์›” 19์ผ  ยท  11์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: wting/autojump

El Capitan์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์ง€์นจ์— ๋”ฐ๋ผ macports ์„ค์น˜๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด ์ž๋™ ์ ํ”„๊ฐ€ ๋” ์ด์ƒ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฌด์—‡์ด๋“  ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

$ j phone
Traceback (most recent call last):
  File "/opt/local/bin/autojump", line 41, in <module>
    from autojump_argparse import ArgumentParser
ImportError: No module named autojump_argparse
autojump: directory 'phone' not found
Try `autojump --help` for more information.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

FWIW, ์ €๋Š” Manjaro Xfce๋ฅผ ์‹คํ–‰ ์ค‘์ด๊ณ  ์‹œ์Šคํ…œ ์—…๋ฐ์ดํŠธ(Python 3.9 ๋ฐ›๊ธฐ ํฌํ•จ)๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์„ ๋•Œ ์ž๋™ ์ ํ”„๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ด๊ฒฐํ–ˆ๋‹ค.
ํŒฉ๋งจ - Rns ์ž๋™ ์ ํ”„

๊ทธ๋Ÿฐ ๋‹ค์Œ AUR(git clone ... cd ... makepkg -si)์—์„œ autojump๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œ/์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค(์ฒ˜์Œ์—๋Š” AUR์—์„œ autojump๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค).

์ค‘์š”ํ•œ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ /usr/bin/autojump์—์„œ "#!/usr/bin/python3" --> "#!/usr/bin/env python"๋„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ๋‹ค์‹œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ ์ œ๊ฑฐํ•˜๊ณ  AUR์„ ํ†ตํ•ด ๋‹ค์‹œ ์„ค์น˜ํ–ˆ๋Š”๋ฐ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹ค๋ฅธ ๊ฒƒ์„ ๋ฐ”๊พธ์ง€ ์•Š์•˜๋‹ค.

๋ชจ๋“  11 ๋Œ“๊ธ€

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ˆ˜๋™ ์„ค์น˜ ์ง€์นจ์„ ๋”ฐ๋ฅด๋ฉด ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋ฏ€๋กœ ์ด๊ฒƒ์ด macports ํŒจํ‚ค์ง€์˜ ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

macports ํ‹ฐ์ผ“

virtualenvs๋กœ ์ž‘์—…ํ•  ๋•Œ๋„ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค...

์ด ๋ฉ”์‹œ์ง€๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด virtualenv์— ์žˆ์„ ๋•Œ ์ž๋™ ์ ํ”„๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด zsh๋ฅผ ์—ฐ๊ฒฐํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค...

Manjaro KDE์—์„œ virtualenvs๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์ตœ๊ทผ์— ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. autojump_argparse๊ฐ€ ์„ค์น˜๋œ ์˜ฌ๋ฐ”๋ฅธ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก /usr/bin/autojump ํŒŒ์ผ์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์„ ํŽธ์ง‘ํ•˜์‹ญ์‹œ์˜ค.
"#!/usr/bin/python3" --> "#!/usr/bin/env ํŒŒ์ด์ฌ"

Manjaro KDE์—์„œ virtualenvs๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์ตœ๊ทผ์— ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. autojump_argparse๊ฐ€ ์„ค์น˜๋œ ์˜ฌ๋ฐ”๋ฅธ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก /usr/bin/autojump ํŒŒ์ผ์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์„ ํŽธ์ง‘ํ•˜์‹ญ์‹œ์˜ค.
"#!/usr/bin/python3" --> "#!/usr/bin/env ํŒŒ์ด์ฌ"

์ €๋Š” Arch์—์„œ pyenv๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ๋ถˆํ–‰ํžˆ๋„ ๊ท€ํ•˜์˜ ์†”๋ฃจ์…˜์ด ์ €์—๊ฒŒ ํšจ๊ณผ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

Manjaro KDE์—์„œ virtualenvs๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์ตœ๊ทผ์— ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. autojump_argparse๊ฐ€ ์„ค์น˜๋œ ์˜ฌ๋ฐ”๋ฅธ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก /usr/bin/autojump ํŒŒ์ผ์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์„ ํŽธ์ง‘ํ•˜์‹ญ์‹œ์˜ค.
"#!/usr/bin/python3" --> "#!/usr/bin/env ํŒŒ์ด์ฌ"

์ €๋Š” Arch์—์„œ pyenv๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ๋ถˆํ–‰ํžˆ๋„ ๊ท€ํ•˜์˜ ์†”๋ฃจ์…˜์ด ์ €์—๊ฒŒ ํšจ๊ณผ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

์•Œ๋ ค์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
1) autojump_argparse.py ํŒŒ์ผ์˜ ๋””๋ ‰ํ† ๋ฆฌ?
2) "echo $PATH"์˜ ์ถœ๋ ฅ์€?

Manjaro KDE์—์„œ virtualenvs๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์ตœ๊ทผ์— ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. autojump_argparse๊ฐ€ ์„ค์น˜๋œ ์˜ฌ๋ฐ”๋ฅธ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก /usr/bin/autojump ํŒŒ์ผ์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์„ ํŽธ์ง‘ํ•˜์‹ญ์‹œ์˜ค.
"#!/usr/bin/python3" --> "#!/usr/bin/env ํŒŒ์ด์ฌ"

์ €๋Š” Arch์—์„œ pyenv๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ๋ถˆํ–‰ํžˆ๋„ ๊ท€ํ•˜์˜ ์†”๋ฃจ์…˜์ด ์ €์—๊ฒŒ ํšจ๊ณผ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

์•Œ๋ ค์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?

1. Directory of the file autojump_argparse.py?

2. Ouput of "echo $PATH"?

@greatluke๋‹˜ , ๊ฒฐ๊ตญ ํŒจํ‚ค์ง€๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค๋ฅธ ๋ชจ๋“  ํŒŒ์ด์ฌ ํŒจํ‚ค์ง€๋Š” 3.9 ๋””๋ ‰ํ† ๋ฆฌ(์ฆ‰, ์ƒˆ๋กœ ์—…๋ฐ์ดํŠธ๋œ ํŒŒ์ด์ฌ ๋ฒ„์ „) ์•„๋ž˜์— ์žˆ๋Š” ๋™์•ˆ ํŒŒ์ผ์ด /usr/lib/python3.9/site-packages ์•„๋ž˜์— ์žˆ์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์ •ํ™•ํžˆ ๊ธฐ์–ตํ•ฉ๋‹ˆ๋‹ค. autojump ์ด(๊ฐ€) ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘: ๋ฐฉ๊ธˆ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„์— ์˜คํƒ€๊ฐ€ ์žˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž๋™ ์ ํ”„์˜ ๊ฒฝ์šฐ /usr/lib/python3.8/site-packages ์˜€์Šต๋‹ˆ๋‹ค.

Manjaro KDE์—์„œ virtualenvs๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์ตœ๊ทผ์— ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. autojump_argparse๊ฐ€ ์„ค์น˜๋œ ์˜ฌ๋ฐ”๋ฅธ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก /usr/bin/autojump ํŒŒ์ผ์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์„ ํŽธ์ง‘ํ•˜์‹ญ์‹œ์˜ค.
"#!/usr/bin/python3" --> "#!/usr/bin/env ํŒŒ์ด์ฌ"

์ €๋Š” Arch์—์„œ pyenv๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ๋ถˆํ–‰ํžˆ๋„ ๊ท€ํ•˜์˜ ์†”๋ฃจ์…˜์ด ์ €์—๊ฒŒ ํšจ๊ณผ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

์•Œ๋ ค์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?

1. Directory of the file autojump_argparse.py?

2. Ouput of "echo $PATH"?

@greatluke๋‹˜ , ๊ฒฐ๊ตญ ํŒจํ‚ค์ง€๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค๋ฅธ ๋ชจ๋“  ํŒŒ์ด์ฌ ํŒจํ‚ค์ง€๋Š” 3.9 ๋””๋ ‰ํ† ๋ฆฌ(์ฆ‰, ์ƒˆ๋กœ ์—…๋ฐ์ดํŠธ๋œ ํŒŒ์ด์ฌ ๋ฒ„์ „) ์•„๋ž˜์— ์žˆ๋Š” ๋™์•ˆ ํŒŒ์ผ์ด /usr/lib/python3.9/site-packages ์•„๋ž˜์— ์žˆ์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์ •ํ™•ํžˆ ๊ธฐ์–ตํ•ฉ๋‹ˆ๋‹ค. autojump ์ด(๊ฐ€) ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ๊ฐ€์žฅ ์‰ฌ์šด ํ•ด๊ฒฐ์ฑ…์€ 4๊ฐœ์˜ .py ํŒŒ์ผ(autojump_argparse, autojump_data, autojump_match, autojump_utils)์„ ์‚ฌ์šฉ ์ค‘์ธ Python ๋ฒ„์ „์˜ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

FWIW, ์ €๋Š” Manjaro Xfce๋ฅผ ์‹คํ–‰ ์ค‘์ด๊ณ  ์‹œ์Šคํ…œ ์—…๋ฐ์ดํŠธ(Python 3.9 ๋ฐ›๊ธฐ ํฌํ•จ)๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์„ ๋•Œ ์ž๋™ ์ ํ”„๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ด๊ฒฐํ–ˆ๋‹ค.
ํŒฉ๋งจ - Rns ์ž๋™ ์ ํ”„

๊ทธ๋Ÿฐ ๋‹ค์Œ AUR(git clone ... cd ... makepkg -si)์—์„œ autojump๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œ/์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค(์ฒ˜์Œ์—๋Š” AUR์—์„œ autojump๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค).

์ค‘์š”ํ•œ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ /usr/bin/autojump์—์„œ "#!/usr/bin/python3" --> "#!/usr/bin/env python"๋„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ๋‹ค์‹œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

FWIW, ์ €๋Š” Manjaro Xfce๋ฅผ ์‹คํ–‰ ์ค‘์ด๊ณ  ์‹œ์Šคํ…œ ์—…๋ฐ์ดํŠธ(Python 3.9 ๋ฐ›๊ธฐ ํฌํ•จ)๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์„ ๋•Œ ์ž๋™ ์ ํ”„๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ด๊ฒฐํ–ˆ๋‹ค.
ํŒฉ๋งจ - Rns ์ž๋™ ์ ํ”„

๊ทธ๋Ÿฐ ๋‹ค์Œ AUR(git clone ... cd ... makepkg -si)์—์„œ autojump๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œ/์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค(์ฒ˜์Œ์—๋Š” AUR์—์„œ autojump๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค).

์ค‘์š”ํ•œ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ /usr/bin/autojump์—์„œ "#!/usr/bin/python3" --> "#!/usr/bin/env python"๋„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ๋‹ค์‹œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ ์ œ๊ฑฐํ•˜๊ณ  AUR์„ ํ†ตํ•ด ๋‹ค์‹œ ์„ค์น˜ํ–ˆ๋Š”๋ฐ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹ค๋ฅธ ๊ฒƒ์„ ๋ฐ”๊พธ์ง€ ์•Š์•˜๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์— ๋Œ€ํ•ด ๋งค์šฐ ์ด์ƒํ•œ ์ƒํ™ฉ์„ ๋งŒ๋‚ฌ๋‹ค.

์•„๋ž˜๋Š” ๋‚ด init_script์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

apt install python &&\
    mkdir -p $DIR/tmp &&\
    git clone --depth 1 https://github.com/wting/autojump.git $DIR/tmp/ &&\
    $DIR/tmp/install.py &&\
    rm -rf $DIR/tmp

zsh & oh-my-zsh ์„ค์ •์œผ๋กœ ์ด๊ฒƒ์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค:

ImportError: autojump_argparse๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ install.py ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์„ฑ๊ณตํ•ฉ๋‹ˆ๋‹ค.

apt install python &&\
    mkdir -p $DIR/tmp &&\
    git clone --depth 1 https://github.com/wting/autojump.git $DIR/tmp/ &&\
    cd $DIR/tmp &&\
    $DIR/tmp/install.py &&\
    cd - &&\
    rm -rf $DIR/tmp

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์—ด์‡ ๊ฐ€ ๋ ๊นŒ์š”?

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰