Skip to content

Latest commit

ย 

History

History
86 lines (62 loc) ยท 2.86 KB

File metadata and controls

86 lines (62 loc) ยท 2.86 KB

python

install

  • python version 3.7 ์ด์ƒ ์„ค์น˜์‹œ ModuleNotFoundError: No module named '_ctypes' ์˜ค๋ฅ˜

    File "/tmp/tmpov0v7ywd/pip-18.1-py2.py3-none-any.whl/pip/_internal/cli/main_parser.py", line 12, in <module>
    File "/tmp/tmpov0v7ywd/pip-18.1-py2.py3-none-any.whl/pip/_internal/commands/__init__.py", line 6, in <module>
    File "/tmp/tmpov0v7ywd/pip-18.1-py2.py3-none-any.whl/pip/_internal/commands/completion.py", line 6, in <module>
    File "/tmp/tmpov0v7ywd/pip-18.1-py2.py3-none-any.whl/pip/_internal/cli/base_command.py", line 18, in <module>
    File "/tmp/tmpov0v7ywd/pip-18.1-py2.py3-none-any.whl/pip/_internal/download.py", line 38, in <module>
    File "/tmp/tmpov0v7ywd/pip-18.1-py2.py3-none-any.whl/pip/_internal/utils/glibc.py", line 3, in <module>
    File "/tmp/python-build.20190820090624.7749/Python-3.7.2/Lib/ctypes/__init__.py", line 7, in <module>
      from _ctypes import Union, Structure, Array
    ModuleNotFoundError: No module named '_ctypes'
    • c compiler ๋กœ ๋นŒ๋“œ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— python ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ธ ์ธํ„ฐํŽ˜์ด์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์„ค์น˜๋˜์ง€ ์•Š์•„์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ.
    • libffi-devevl ์„ค์น˜ํ•˜์—ฌ ๋ฌธ์ œ ํ•ด๊ฒฐ

pyenv & python ์„ค์น˜

  • pyenv ๋ฅผ ์‚ฌ์šฉํ•  ๋กœ์ปฌ๊ณ„์ •์— pyenv ์„ค์น˜.
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
$ git clone https://github.com/yyuu/pyenv-virtualenv.git \
          ~/.pyenv/plugins/pyenv-virtualenv
  • pyenv ๋ฅผ ์œ„ํ•œ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ (.bashrc , .bash_profile , .zshrc)
# Add 'pyenv' to PATH.
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"

# Enable shims and autocompletion for pyenv.
eval "$(pyenv init -)"
# Load pyenv-virtualenv automatically by adding
# # the following to ~/.zshrc:
#
eval "$(pyenv virtualenv-init -)"
  • install python with shared libpython(necessary for PyInstaller to work)
env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 2.7.13 # ์„ค์น˜ํ•˜๋ ค๋Š” ๋ฒ„์ „.
  • ์„ค์น˜ํ•œ python ์œผ๋กœ ํ™˜๊ฒฝ ์„ค์ • ๋ฐ pipenv ์„ค์น˜
pyenv global 2.7.13
pip install pipenv

pipenv

  • python ์ „์šฉ ๊ฐ€์ƒํ™˜๊ฒฝ ์„ค์ • ํŒจํ‚ค์ง€๋กœ pip ์„ ์ด์šฉ

  • Pipfile ์ด ์กด์žฌํ•˜๋Š” ํ”„๋กœ์ ํŠธ์—์„œ ์‹คํ–‰์‹œ.

    # Pipfile ์— ๋“ฑ๋ก๋œ ํŒจํ‚ค์ง€๋ฅผ ๊ฐ€์ƒํ™˜๊ฒฝ์œผ๋กœ ์„ค์น˜.
    $ python install
    # python ๊ฐ€์ƒ ํ™˜๊ฒฝ์œผ๋กœ shell ๋ณ€๊ฒฝ
    $ python shell

pyenv

  • pyenv install ์ง„ํ–‰์‹œ openssl ๋ณ„๋„ ๊ฒฝ๋กœ ์ถ”๊ฐ€

    • openssl ์˜ ์„ค์น˜๊ฒฝ๋กœ๊ฐ€ /usr/local/openssl1.0.2 ์ผ ๊ฒฝ์šฐ.
    # python shared library ๋นŒ๋“œ ์ถ”๊ฐ€. python 2.7.13 ์„ ์„ค์น˜ํ• ๋•Œ.
    $ CFLAGS="-I/usr/local/openssl1.0.2/include" LDFLAGS="-L/usr/local/openssl1.0.2/lib" PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 2.7.13
  • pyenv run ์‹คํ–‰์‹œ dependency ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฏธ์„ค์น˜์— ๋Œ€ํ•œ ํ•ด๊ฒฐ๋ฐฉ์•ˆ