2023. 12. 14. 17:06ㆍProgramming/python
맥을 arm64로 변경하고 나서부터인가.. 갑자기 pyenv intall 이 동작이 되지 않았다!!!
~/.pyenv 폴더를 지우고, brew로 pyenv를 다시 깔아 봤으나 pyenv install로 파이썬을 설치하려고 하면 아래와 같은 에러가 발생!!
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/machizhov/.pyenv/versions/3.8.6/lib/python3.8/curses/__init__.py", line 13, in <module>
from _curses import *
ModuleNotFoundError: No module named '_curses'
분명 mac에서 python 실행 후 from _curses import *를 하면 정상적으로 import가 되는데, 왜 실행이 안된다고 하는거지??
일단 아래와 같은 해결 방법이 있어서 실행.
CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix readline)/include -I$(brew --prefix ncurses)/include -I$(xcrun --show-sdk-path)/usr/include" \
LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix ncurses)/lib -L$(xcrun --show-sdk-path)/usr/lib" \
pyenv install 3.8.6
위의 명령을 실행했더니 아래와 같은 에러가 발생한다.
subprocess.CalledProcessError: Command '['/private/var/folders/kg/25ckjzxs199g6b3ccw70q_380000gn/T/python-build.20231214150729.56835/Python-3.9.1/py thon.exe', '-c', '\nimport runpy\nimport sys\nsys.path = [\'/var/folders/kg/25ckjzxs199g6b3ccw70q_380000gn/T/tmphz4y382r/setuptools-49.2.1-py3-none- any.whl\', \'/var/folders/kg/25ckjzxs199g6b3ccw70q_380000gn/T/tmphz4y382r/pip-20.2.3-py2.py3-none-any.whl\'] + sys.path\nsys.argv[1:] = [\'install\' , \'--no-cache-dir\', \'--no-index\', \'--find-links\', \'/var/folders/kg/25ckjzxs199g6b3ccw70q_380000gn/T/tmphz4y382r\', \'--root\', \'/\', \'--upg rade\', \'setuptools\', \'pip\']\nrunpy.run_module("pip", run_name="__main__", alter_sys=True)\n']' died with <Signals.SIGABRT: 6>.
10056 make: *** [install] Error 1
아... 모르겠다... 4시간 동안 씨름을 했는데.. 먼가가 꼬인 것 같다.
결국 대안으로 anaconda를 깔아서 해보기로 함.
anaconda 설치하러 가기
https://www.anaconda.com/download
다운 받은 pkg를 실행해 주자. 1.4G 기가나 되네.... -_-
설치가 완료됐으면 터미널을 끄고 다시 접속 해준다.
아래의 명령어로 현재 설치되어 있는 가상 환경을 확인하자.
#> conda env list
현재 설치되어 있는 가상 환경 목록이 보일 것이다. 나는 처음 설치했으니 당연 아무것도 없음.
이제 프로젝트 가상환경을 만들어 준다.
#> conda create -n '가상환경이름' python='설치할 python버전'
ex) conda create -n test python=3.8.13
성공!!!!
이제는 옛 레거시 프로젝트를 위한 python 2.7.18을 설치해보자.
아래와 같은 에러가 발생한다. -_-
packagesNotFoundError: The following packages are not available from current channels:
- python=2.7.18*
python 2.7은 anaconda에서 못쓰는걸까??? 열심히 구글링한 결과 아래와 같이 실행.
#> CONDA_SUBDIR=osx-64 conda create -n test python=2.7.18
CONDA_SUBDIR에 값을 지정함으로써 현재 환경을 바꿔 줄 수가 있다. 위와 같이 CONDA_SUBDIR을 osx-64로 주니깐 해당 패키지를 찾고 설치가 완료됐다!!
참고로 pycharm에서 python 2.7 환경의 인터프리터를 추가하려고 해도 아래와 같이 에러가 발생하니 터미널에서 환경을 만들어 주는 것이 좋을 것 같다.