리눅스 서버에서 관리자 권한 없이 Python 3.10.12를 설치하는 방법을 정리함.
프로젝트에서 사용하는 모델들의 의존성 때문에 Python 3.10.12 버전이 필요했는데,
리눅스 서버의 관리자 권한이 없어서 sudo apt install을 사용할 수 없는 상황이었다.
처음엔 로컬(Windows)에서 작업했었는데, Linux 서버에서 돌아가게 하려고 많은 시행착오를 겪었다.
나는 이미 삽질을 하며 시간을 많이 박았지만, 프로젝트 팀원들의 시간을 절약해주기 위해 README 문서를 상세히 작성한 김에, 이렇게 블로그로도 써본다.
특히 Poetry를 이용해서 Python 3.10.12를 적용하는 과정이 오래걸렸다. 한 2시간 정도?
sudo 없이 Python을 설치하는 방법이 명확하지 않음.기본적으로 pyenv를 사용하면 sudo 없이도 Python을 설치할 수 있음.
curl https://pyenv.run | bash
설치가 끝나면, 환경 변수 설정을 추가해야 함.
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
source ~/.bashrc
이제 터미널을 다시 열고 pyenv --version을 실행해서 정상적으로 설치되었는지 확인하면 됨.
PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.10.12
pyenv global 3.10.12
이제 python --version을 실행하면 Python 3.10.12가 출력되어야 함.
만약
pyenv: command not found같은 오류가 뜨면, 환경 변수가 적용되지 않은 거니까 터미널을 껐다가 다시 열어보면 해결됨.
이제 Poetry를 이용해서 프로젝트 환경을 세팅해야 함.
먼저, 기존 가상 환경을 삭제하고 다시 생성해야 한다.
poetry env remove python
poetry env use $(which python3.10)
poetry install
설정된 가상 환경을 확인하려면:
poetry env info
이제 Python: 3.10.12가 나오면 성공적으로 적용된 것!

잘 된 것을 확인할 수 있다 :)
프로젝트를 실행하려면:
poetry run streamlit run {file_path}

잘 돌아가는 것을 확인하였다. (。•̀ᴗ-)✧
pyenv를 사용하면 해결됨.PATH에 pyenv 경로 추가.poetry env use $(which python3.10)원래 환경설정 무지 싫어했었는데 이번 이슈 해결들은 재밌었다.
아무래도 기록을 병행해서 그런 것 같다. 다른 사람들을 돕는다는 약간의 뿌듯함과 성취감?
이 글이 나처럼 삽질하는 사람들에게 도움이 되었으면 좋겠다. 😎
이 과정에서 Poetry 설치 후 무한 Pending 이슈도 겪었는데, 해결 방법을 따로 정리했음.
자세한 내용은 아래 링크에서 확인할 수 있음. 👇
🔗 서버 Poetry 설치 무한 Pending 이슈 해결방법
이제 환경 세팅할 때 시간 덜 뺏기길! 🔥