2to3
์ด ํ์ฌ Virtualenv์์ ๋ฆฌ๋๋ ์
๋์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ฌ์ฉ์๊ฐ ์์์น ๋ชปํ ๊ฒฝ์ฐ์ ๋ํด์๋ https://travis-ci.community/t/2to3-command-not-found-in-virtualenv-in-bionic/4495 ๋ฅผ ์ฐธ์กฐํ์ญ์์ค. ์ผ๋ฐ์ ์ผ๋ก PATH
์์ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค.
EOL์ด ์๋ฐํ Py2์ ๋น์ถ์ด ์ด์ ๋ํ ์์๊ฐ ์ฆ๊ฐํ ๊ฒ์ ๋๋ค!
$ which 2to3
/home/vmuser/.pyenv/shims/2to3
$ pyenv install 3.6.9
<...>
$ ~/.pyenv/versions/3.6.9/bin/python -m pip install virtualenv
Collecting virtualenv
Downloading https://files.pythonhosted.org/packages/db/9e/df208b2baad146fe3fbe750eacadd6e49bcf2f2c3c1117b7192a7b28aec4/virtualenv-16.7.2-py2.py3-none-any.whl (3.3MB)
100% |โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 3.3MB 1.3MB/s
Installing collected packages: virtualenv
Successfully installed virtualenv-16.7.2
$ ~/.pyenv/versions/3.6.9/bin/python -m virtualenv test
Using base prefix '/home/vmuser/.pyenv/versions/3.6.9'
New python executable in /home/vmuser/test/bin/python
Installing setuptools, pip, wheel...
done.
$ . test/bin/activate
(test) $ which 2to3
/home/vmuser/.pyenv/shims/2to3
์์๋๋ ๋์์ ๋ง์ง๋ง which
๊ฐ virtualenv ๋ด๋ถ์ ๊ฒฝ๋ก๋ฅผ ๋ฐํํ๋ ๊ฒ์ด์์ต๋๋ค -- python
๋ฐ pip
์ ๋์ผํฉ๋๋ค.
pip list
์ถ๋ ฅ$ ~/.pyenv/versions/3.6.9/bin/python -m pip list
Package Version
---------- -------
pip 18.1
setuptools 40.6.2
virtualenv 16.7.2
pyenv rehash๋ฅผ ์ํํ ํ์๋ ์ฌ์ ํ ๋ฐ์ํฉ๋๊น?
pyenv rehash ์ ํ์ shim์ ์คํํ ๋ ๋ฌด์์ ์คํํฉ๋๊น?
๋๋ ์ด๊ฒ์ด pyenv์ ๊ด๋ จ์ด ์๋ค๋ ๋๋์ด ๋ญ๋๋ค.
pyenv rehash๋ฅผ ์ํํ ํ์๋ ์ฌ์ ํ ๋ฐ์ํฉ๋๊น?
๋ค.
pyenv rehash ์ ํ์ shim์ ์คํํ ๋ ๋ฌด์์ ์คํํฉ๋๊น?
$#$ 2to3
๊ฐ ํฌํจ๋ apt
ํจํค์ง๊ฐ ์ค์น๋์ง ์์ system
Python์ด ์ ํ๋์์ผ๋ฏ๋ก ๋ค์๊ณผ ๊ฐ์ด ํ์๋ฉ๋๋ค.
pyenv: 2to3: command not found
The `2to3' command exists in these Python versions:
<list>
๋ ๊ฒฝ์ฐ ๋ชจ๋.
๋๋ ์ด๊ฒ์ด pyenv์ ๊ด๋ จ์ด ์๋ค๋ ๋๋์ด ๋ญ๋๋ค.
pyenv
๋ ๊ด๋ จ์ด ์์ต๋๋ค. ์์๋๋ ๋์์ ๋ ๋ฒ์งธ which
๊ฐ python
์ฒ๋ผ virtualenv
์ ์ฌ์ ๋ฐํํ๋ ๊ฒ์
๋๋ค. ๋ฒ๊ทธ๋ virtualenv
๊ฐ ์์ฑํ์ง ์๋๋ค๋ ๊ฒ์
๋๋ค. (๋๋ ์ด๊ฒ์ด ๋ปํ๋ค๊ณ ์๊ฐํ๋ค. ์๋ง ์๋ ๊ฒ์ด๋ค.)
์, ์๊ฒ ์ต๋๋ค... ํ์ฑํ ํ PATH
๋ ๋ฌด์์ธ๊ฐ์?
(๋๋ ์ง๊ธ ์ด๊ฒ์ ์ฌํํ๋ ค๊ณ ํ ์ ์๋ ๊ธฐ๊ณ์ ์์ง ์๋ค)
(test) vmuser<strong i="5">@ubuntuvm</strong>:~$ echo $PATH
/home/vmuser/test/bin:/home/vmuser/.rbenv/shims:/home/vmuser/.rbenv/bin:/home/vmuser/.pyenv/shims:/home/vmuser/.pyenv/bin:/home/vmuser/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/vmuser/.rvm/bin
(test) vmuser<strong i="6">@ubuntuvm</strong>:~$ ls /home/vmuser/test/bin
activate activate_this.py pip python3
activate.csh activate.xsh pip3 python3.6
activate.fish easy_install pip3.6 python-config
activate.ps1 easy_install-3.6 python wheel
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด virtualenv ๋ด์์ ๋๋ฑํ ๊ธฐ๋ฅ๊ณผ ํจ๊ป python -m lib2to3
๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
/cc other @pypa/virtualenv-committers ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ ๋ virtualenv์ ์ถ๊ฐํ๋ ๊ฒ์ด ์ข๋ค๊ณ ์๊ฐํ๋ค๋ฉด ์ข์ ์๊ฐ์ ๋๋ค.
๋๋ ์๋ฉด์ ์ด๋ค.
์ ๋ -0.5์
๋๋ค. ์ง๊ธ๊น์ง ๋ฌธ์ ๋ก ํ์๋์ง ์์ ์ถ๊ฐ ํผ๋์ด๋ฏ๋ก ํ์๊ฐ ๊ฑฐ์ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. EOL์ด ์๋ฐํ Python 2๊ฐ ์ฌ๊ธฐ์ ์ฐจ์ด๋ฅผ ๋ง๋ ๋ค๊ณ ํ์ ํ์ง ๋ชปํฉ๋๋ค. ์ถ๊ฐ ์คํฌ๋ฆฝํธ๋ Windows์ ๋น๊ฐ์ ํ๊ฒฝ์์๋ PATH
์ ์์ง ์์ผ๋ฏ๋ก ์กด์ฌํ๋ค๋ ๊ธฐ๋๊ฐ ๋ณดํธ์ ์ด์ง ์์ต๋๋ค.
๋๋ ์ด๊ฒ์ด ์ผ๋ฐ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ผ๋ก ์๋ํด์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ํธ์คํธ ํ๊ฒฝ์ ๋ชจ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฐ์ ํ๊ฒฝ ์์ค์์ ์ฌ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค.
EOL์ด ์๋ฐํ Python 2๊ฐ ์ฌ๊ธฐ์ ์ฐจ์ด๋ฅผ ๋ง๋ ๋ค๊ณ ํ์ ํ์ง ๋ชปํฉ๋๋ค.
+1
๊ทธ๊ฒ์ ์ฌ๊ธฐ์์๋ ๋ด ๊ด์ฌ์ฌ๊ฐ ์๋๋๋ค. :)
์ถ๊ฐ ์คํฌ๋ฆฝํธ๋ Windows์ ๋น๊ฐ์ ํ๊ฒฝ์์๋
PATH
์ ์์ต๋๋ค.
์ค. Scripts/
๋๋ ํ ๋ฆฌ์ ์์ง ์์ต๋๊น? ๋ด ์ดํด๋ ํ์ฌ python.org ์ค์น ํ๋ก๊ทธ๋จ์ด ํด๋น ๋๋ ํ ๋ฆฌ๋ฅผ PATH์ ์ถ๊ฐํ๋ฏ๋ก ์คํํ ์ ์๋ค๋ ๊ฒ์
๋๋ค.
ํธ์คํธ ํ๊ฒฝ์ ๋ชจ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฐ์ ํ๊ฒฝ ์์ค์์ ์ฌ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค.
์... "์์ฉ ํ๋ก๊ทธ๋จ"์ ์ฌ๊ธฐ์์ ์ฝ๊ฐ ๋ชจํธํฉ๋๋ค. ์คํฌ๋ฆฝํธ๋ฅผ ๋งํ๋ ๊ฒ์ ๋๊น ์๋๋ฉด ๋ค๋ฅธ ๊ฒ์ ๋งํ๋ ๊ฒ์ ๋๊น? ๋ฌด์จ ๋ง์ธ์ง ๋ช ํํ ํด ์ฃผ์๊ฒ ์ต๋๊น?
์ฐ๋ฆฌ๊ฐ ์ด๋ ๊ฒ ํ๋ฉด ์ด์จ๋ ํธ์คํธ ํ๊ฒฝ์ ๋ชจ๋ ์คํฌ๋ฆฝํธ๋ฅผ ํฌํจํ๋ ๋ฐ์๋ -1์ด๊ณ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ง์ํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ํฌํจํ๋ ๋ฐ์๋ ์๊ฐ์ ์ด๋ผ๋ ์ ์ ์ ์ํ์ญ์์ค.
์ค. Scripts/ ๋๋ ํ ๋ฆฌ์ ์์ง ์์ต๋๊น?
์๋์, Scripts
์ ์๋ ๋ชจ๋ ๊ฒ์ ์ค์น๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(๊ธฐ๋ณธ ์ค์น์ pip, easy_install ๋ฐ wheel)์ ๋ํ ์ง์
์ ๋ํผ์
๋๋ค. ์กฐ๊ธ ๋ ์ดํด๋ณด๋ฉด 2to3.py
๊ฐ Tools/scripts
์ ์์ง๋ง(60๊ฐ ์ด์์ ๋ค๋ฅธ ์คํฌ๋ฆฝํธ๊ฐ ์๋นํ ํผํฉ๋์ด ์์) ๊ทธ ๋๋ ํ ๋ฆฌ๋ PATH
์ ์์ง ์์ต๋๋ค. ์ฌ์ฉ์๋ "PATH์ Python ์ถ๊ฐ"๋ฅผ ์ ํํฉ๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ด๋ ๊ฒ ํ๋ฉด ์ด์จ๋ ํธ์คํธ ํ๊ฒฝ์ ๋ชจ๋ ์คํฌ๋ฆฝํธ๋ฅผ ํฌํจํ๋ ๋ฐ์๋ -1์ด๊ณ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ง์ํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ํฌํจํ๋ ๋ฐ์๋ ์๊ฐ์ ์ด๋ผ๋ ์ ์ ์ ์ํ์ญ์์ค.
์ต์ํ ๊ธฐ๋ณธ ์ค์น๋ณด๋ค ๋ ๋ง์ ๊ฒ์ PATH์ ์ถ๊ฐํด์๋ ์ ๋๋ค๊ณ ์ฃผ์ฅํ๊ณ ์ถ์ต๋๋ค. ์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์ด๊ฒ์ ํ๋ค ํด๋ Windows์์๋ ํ์ง ์๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
pradyunsg๋ 2์๊ฐ ์ ์ virtualenv์ bin์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์คํฌ๋ฆฝํธ ํฌํจ/๊ฐ์ ํ๊ฒฝ์ ์คํฌ๋ฆฝํธ์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์คํฌ๋ฆฝํธ ํฌํจ์ด๋ผ๋ ์ ๋ชฉ์ ๋ณ๊ฒฝํ์ต๋๋ค.
์ด๊ฒ์ ์ฝ๊ฐ์ ๋ฒ์ ๋ณ๊ฒฝ์ด๋ผ๋ ์ ์ ์ ์ํ์ญ์์ค. OP๋ ํนํ 2to3
์๋ง ๊ด์ฌ์ด ์์๊ณ ํนํ virtualenv๋ฅผ ํ์ฑํํด๋ ์์คํ
2to3
์ ๊ฐ๋ฆฌ์ง ์์์ต๋๋ค . ๊ทธ๊ฒ์ด ์ค์ํ์ง ์ฌ๋ถ์ ๋ํด์๋ ์ธ๊ธํ ์ ์์ต๋๋ค(Windows์์๋ ์ด๋ฌํ ์ผ์ด ๋ฐ์ํ์ง ์๋๋ค๊ณ ์ฃผ์ฅํ์ง๋ง Unix์์ ์ด๊ฒ์ด ๋ฌธ์ ๋ผ๊ณ ๋๋ผ๋์ง ๋งํ ์ ์๋ ๊ด๋ จ ๊ฒฝํ์ด ์์). ๊ทธ๋ฌ๋ ๋ค๋ฅธ ์คํฌ๋ฆฝํธ๊ฐ "ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์คํฌ๋ฆฝํธ"์ธ์ง ์์ง ๋ชปํ๋ฉด ์ด๊ฒ์ด ์ค์ํ ์์ ์ธ์ง ๋งํ ์ ์์ต๋๋ค.
ํ , pyvenv
๋ ์๋ง๋ ๋ ๋ค๋ฅธ "ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์คํฌ๋ฆฝํธ"์ผ ๊ฒ์
๋๋ค. ์ ๋ virtualenv ํ๊ฒฝ์์ venv๋ฅผ ์คํํ๋ ๋ฒ์ ์ผ๋ก ์์คํ
๋ฒ์ ์ ์๋์ํ๊ณ ์ถ์ง ์๋ค๊ณ ํ์ ํฉ๋๋ค. ์ค์ง์ ์ธ ์ด์ต์ด ์์).
OP๋ ... ๊ด์ฌ์ด ... ํนํ virtualenv๋ฅผ ํ์ฑํํด๋ ์์คํ 2to3์ ๊ฐ๋ฆฌ์ง ์์์ต๋๋ค.
(์ด ๋ฌธ๊ตฌ๊ฐ ์ ์ ์ ๋ฌด์์ ๋ด๊ณ ์๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์๋ฐฉํฅ์ผ๋ก ํด์๋ ์ ์์ต๋๋ค.)
๋ช
ํ์ฑ์ ์ํด 2to3
์ ๋ํ ์ฌ์ ์์ฑํ๊ธฐ ์ํด virtualenv
๋ฅผ ์์ฒญํฉ๋๋ค.
(์๋ณธ ๊ฒ์๋ฌผ์ ์์ ๋์์ผ๋ก ์์ ํ๊ฒ ์ต๋๋ค. ์๋ตํ๋ฉด ํผ๋์ ์ผ์ผํค๊ณ ์์ต๋๋ค.)
(์๋ณธ ๊ฒ์๋ฌผ์ ์์ ๋์์ผ๋ก ํธ์งํ๊ฒ ์ต๋๋ค)
์๋ฃ. ๋ํ ์ฌ์ฉ์๊ฐ PATH
์ ์์ ๊ฒ์ผ๋ก ์์ํ ์ด์ ๋ฅผ ์ค๋ช
ํ์ต๋๋ค.
์ด ๋ง์ด ๋ด ์ ์ ๋ฌด์์ ๋ด๊ณ ์๋์ง ๋ชจ๋ฅด๊ฒ ๋ค
๊ทํ์ ์๊ฒฌ์ ์๋ชป ์ ๋ฌํ์ฌ ์ฃ์กํฉ๋๋ค. ์ค๋ช ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! (์์ฒญํ์ ๋ด์ฉ์ ์ ๋๋ก ์ดํดํ ๊ฒ ๊ฐ์ต๋๋ค๋ง, ์ ๊ฐ ์๋ชป ๋ค์ ํ ๊ฒ๋ฟ์ ๋๋ค...)
๋ํ ์ฌ์ฉ์๊ฐ PATH์ ์์ ๊ฒ์ผ๋ก ์์ํ ์ด์ ๋ฅผ ์ค๋ช ํ์ต๋๋ค.
์ฐธ์กฐํ ๋งํฌ๊ฐ ์ฝ๊ฐ ํผ๋์ค๋ฝ์ต๋๋ค. ์ฌ์ฉ์๋ ์ ๋ขฐํ ์ ์๊ณ xenial์์ ์๋ํ์ง๋ง ๋ฐ์ด์ค๋์์๋ ์๋ํ์ง ์๋ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฌธ์ ๊ฐ virtualenv์ ์๋ ๊ฒฝ์ฐ ๊ทธ ์ด์ ๊ฐ ๋ช
ํํ์ง ์์ต๋๋ค. (์ฐธ๊ณ : ์ด๊ฒ์ ํธํฅ์
๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ virtualenv๊ฐ 2to3.py
๋ฅผ ๋ณต์ฌ ํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ถ๋ช
ํ๋ฏ๋ก ์๋ ๋ฌธ์ ๊ฐ ๋ ๋ฏธ๋ฌํ๋๋ผ๋ ์ ํจํด์ผ ํ๋์ง ์ฌ๋ถ์ ๋ํ ๋
ผ์).
virtualenv์ 2to3์ฉ shim์ ์์ฑํ๋๋ก ์์ฒญํ๊ณ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ shim์ ๋ง๋ค์ง ์์ ๊ฒ์
๋๋ค. ์ฐ๋ฆฌ๊ฐ ํ ์ผ์ 2to3.py
์คํฌ๋ฆฝํธ๋ฅผ ๋ณต์ฌํ๋ ๊ฒ๋ฟ์
๋๋ค. shim์ด ํ์ํ ๊ฒฝ์ฐ(๊ทธ๊ฒ์ pyvenv์ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค) ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ ์ฒ๋ฆฌํ์ง ์์์ ๊ฒ์
๋๋ค.
์๋์, ์คํฌ๋ฆฝํธ์ ์๋ ๋ชจ๋ ๊ฒ์ ์ค์น๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(๊ธฐ๋ณธ ์ค์น์ pip, easy_install ๋ฐ wheel)์ ๋ํ ์ง์ ์ ๋ํผ์ ๋๋ค.
์ค์ค์ค์ค์ค์ค์ค์ค์ค์ค์ค์ค์ค์ค์ค ๊ด์ฐฎ์.
์ด๊ฒ์ ์ฝ๊ฐ์ ๋ฒ์ ๋ณ๊ฒฝ์ด๋ผ๋ ์ ์ ์ ์ํ์ญ์์ค.
๋๋ 2to3๊ฐ ํน๋ณํ ๋์ก์ด๋ผ๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ ์ถ๊ฐํ๋ค๋ฉด, ๋๋ ๋๊ตฐ๊ฐ๊ฐ ๋๋จธ์ง๋ฅผ ์๊ตฌํ๊ธฐ ์ํด ์ฌ ๊ฒ์ผ๋ก ๊ธฐ๋ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ์์ ํ ํ๊ฑฐ๋ ์์ ํ์ง ๋ง์์ผ ํฉ๋๋ค. ์ค๊ฐ์ ๊ฐํ๋ ๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์ฌ๊ธฐ์ ์ํ๋ ๊ฒ์ด ์๋๋๋ค.
(๋๋ ๋ชจ๋ฐ์ผ UI๋ฅผ ์ซ์ดํ๋ค)
ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ํด ์ง์๋๊ณ ํ์ค Linux ์ค์น์ ๊ฒฝ์ฐ PATH
์ ์๋ค๋ ์ ์์ "ํน๋ณ"ํฉ๋๋ค.
์ค์ ๋ก ์ด์ ๊ฐ์ ๋ค๋ฅธ ๋๊ตฌ๋ ๋ง์ง ์์ต๋๋ค. 2to3
์ธ์๋ $# pydoc
, idle
๋ฐ pyvenv
์์ต๋๋ค.
$ ls ~/.pyenv/versions/3.6.9/bin
2to3 easy_install-3.6 idle3.6 pip3.6 pydoc3.6 python3.6 python3.6m python-config virtualenv
2to3-3.6 idle pip pydoc python python3.6-config python3.6m-config pyvenv
easy_install idle3 pip3 pydoc3 python3 python3.6-gdb.py python3-config pyvenv-3.6
(์ด๋ฏธ ๋ฆฌ๋๋ ์
๋๊ณ ์๋ python-config
๋ ์์)
์, @native-api์ ๋ํ ์ค๋ช ๊ฐ์ฌํฉ๋๋ค! ๋งค์ฐ ๊ฐ์ฌ. ์ด๊ฒ์ด Windows๊ฐ ์๋ ๋ฌธ์ ์ ๋ํ @pfmoore ์ ์ค๋ช ๊ณผ ํจ๊ป ์ดํดํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. :)
๋๋ ์ฌ์ ํ ๊ทธ๊ฒ์ ํฌํจํ๋ ๊ฒ์ ๋ํด ์๋ฉด์ ์ด๋ค.
2to3 ์ด์ธ์ ๊ฒ์ pydoc, idle ๋ฐ pyvenv๋ฟ์ ๋๋ค.
๋๊ฐ ๊ทธ ๋ชฉ๋ก์ ์ ํํ๋์ง ์๊ณ ์ถ์ต๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก pyvenv์ ๋๊น? Ubuntu(Windows์ bash ๋ฐ python3์ด ์ค์น๋ ๋์ปค ์ด๋ฏธ์ง)์๋ ๊ธฐ๋ณธ์ ์ผ๋ก 2to3์ด ์๋ ๊ฒ ๊ฐ์ง๋ง Python ๋์ปค ์ด๋ฏธ์ง์๋ ์ธ๊ธํ ๊ฒ๊ณผ ๋์ผํ ๋ฐ์ด๋๋ฆฌ๊ฐ ์์ต๋๋ค(์ค์น๋ ํจํค์ง์์ ์ ๊ณต๋๋ pip, easy_install ๋ฐ wheel). ์ฝ๊ฐ ๋ฐฐํฌ์ ์์กด์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค :-(์ ์ด๋ ๊ด๋ จ ๋ฐ์ด๋๋ฆฌ ๋ชฉ๋ก์ ์ผ๊ด์ฑ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
BTW, ์์์ ๋งํ๋ฏ์ด ์ด ๋ณ๊ฒฝ์ ์ํํ๋๋ผ๋ pyvenv๋ฅผ ํฌํจํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
Ubuntu(Windows์ bash ๋ฐ python3์ด ์ค์น๋ ๋์ปค ์ด๋ฏธ์ง)์๋ ๊ธฐ๋ณธ์ ์ผ๋ก 2to3์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ด๋ Ubuntu์์ 2to3
๊ฐ ๋ณ๋์ ํจํค์ง๋ก ์ด๋๋๊ธฐ ๋๋ฌธ์
๋๋ค.
$ apt-file search 2to3 | grep -E '/2to3[^/]*$'
2to3: /usr/bin/2to3
<...>
python2.7: /usr/bin/2to3-2.7
<...>
"ํ์ค Linux ์ค์น"๋ผ๋ ๋ง์ ๋ฐฐํฌํ์ ๊ฐ์ญ ์์ด Python์ Linux ๋น๋ ์คํฌ๋ฆฝํธ์ ๊ณ ์ ํ ๋
ผ๋ฆฌ๋ฅผ ์๋ฏธํ์ต๋๋ค. ์๋ฅผ ๋ค์ด ์์ค์์ ์ค์นํ๋ ๊ฒฝ์ฐ( pyenv
๊ฐ ์ํํ๋ ์์
).
๋๋ ์ด๊ฒ์ ๋ฐ์๋ค์ผ ์ ์๊ณ ์ด๊ฒ์ ์ํด ๋ ธ๋ ฅํ ๊ฒ์ด๋ค.
์ด๊ฒ์ ํ์ฑํ ์คํฌ๋ฆฝํธ์ ์ผ๋ถ๋ก pydoc์ ์ถ๊ฐํ๋ ํ์ฌ ํดํน์ ๋์ฒดํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด virtualenv ๋ด์์ ๋๋ฑํ ๊ธฐ๋ฅ๊ณผ ํจ๊ป
python -m lib2to3
๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.