Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PythonHome 지정 문제 #320

Open
just-dodo opened this issue Nov 20, 2020 · 7 comments
Open

PythonHome 지정 문제 #320

just-dodo opened this issue Nov 20, 2020 · 7 comments
Labels
backend HW4 question Further information is requested

Comments

@just-dodo
Copy link
Member

just-dodo commented Nov 20, 2020

허허....Python home 을 지정 안해줬다고 뜨네요....^^....
혹시 같은 에러 뜨신 분 게실까요?
uwsgi가 실행이 되지 않고, 아래와 같이 로그에 문제가 뜹니다.
어제 새벽 4시부터 이 문제만 붙들고 있어서 결국 이슈를 올립니다.

!!! Python Home is not a directory: /home/ec2-user/.pyenv/versions/waffle-deploy !!!
Set PythonHome to /home/ec2-user/.pyenv/versions/waffle-deploy
Python path configuration:
  PYTHONHOME = '/home/ec2-user/.pyenv/versions/waffle-deploy'
  PYTHONPATH = (not set)
  program name = '/home/ec2-user/.pyenv/versions/waffle-deploy/bin/python'
  isolated = 0
  environment = 1
  user site = 1
  import site = 1
  sys._base_executable = '/home/ec2-user/.pyenv/versions/waffle-deploy/bin/python'
  sys.base_prefix = '/home/ec2-user/.pyenv/versions/waffle-deploy'
  sys.base_exec_prefix = '/home/ec2-user/.pyenv/versions/waffle-deploy'
  sys.executable = '/home/ec2-user/.pyenv/versions/waffle-deploy/bin/python'
  sys.prefix = '/home/ec2-user/.pyenv/versions/waffle-deploy'
  sys.exec_prefix = '/home/ec2-user/.pyenv/versions/waffle-deploy'
  sys.path = [
    '/home/ec2-user/.pyenv/versions/waffle-deploy/lib/python38.zip',
    '/home/ec2-user/.pyenv/versions/waffle-deploy/lib/python3.8',
    '/home/ec2-user/.pyenv/versions/waffle-deploy/lib/python3.8/lib-dynload',
  ]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'

제 ini 파일입니다.

[uwsgi]
chdir = /home/ec2-user/waffle-rookies-18.5-backend-2/waffle_backend
module = waffle_backend.wsgi:application

home = /home/ec2-user/.pyenv/versions/waffle-deploy
demonize = /home/ec2-user/waffle.log
virtualenv = /home/ec2-user/.pyenv/versions/waffle-deploy
uid = deploy
gid = deploy

socket= /home/ec2-user/sockets/waffle-backend.sock
chmod-socket=666
chown-socket=deploy:deploy

single-interpreter = true
enable-threads = true
master = true
vacuum = true
pidfile = /tmp/waffle-backend.pid
logto = /var/log/uwsgi/waffle-backend/@(exec://date +%%Y-%%m-%%d).log
log-reopen = true
@eldpswp99
Copy link
Member

pyenv 설치 시에
https://medium.com/@ankitgin/installing-pyenv-in-amazon-linux-ec2-899667e208ea

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc

이 부분 혹시 해주셨나요?? (.zshrc는 사용 쉘에 따라 다릅니다)

@just-dodo
Copy link
Member Author

넵 ㅠㅠ 아래와 같이 설정했습니다
image

@davin111
Copy link
Member

@dodo4114 이거는 결국 본인이 Python 가상환경을 어떻게 만들었는지, Python 설치를 어떻게 했는지에 따라 달려서 이것만으로는 어렵긴 한데, 우선 에러 메시지 그 자체를 받아들여서 찾아봤나요? Python Home is not a directory라고 하고, 읊어주는 거 보면 PYTHONHOME = '/home/ec2-user/.pyenv/versions/waffle-deploy'라고 하는데 정말 저기에 저 가상환경 directory가 존재하는 게 맞는지 등.

그리고 https://medium.com/@ankitgin/installing-pyenv-in-amazon-linux-ec2-899667e208ea 이런 곳에도 있듯이 pyenv 쓰신다면 아래처럼 PYENV_ROOT와 관련 PATH 정의해야할 것이구요.

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

쓰는 와중에 이미 중복으로 위에서 대화가 이어져서 덧붙이자면, 참고로 zshrc든 bash_profile이든 이런 파일 수정하고 나서는 source해서 반영시키는 것도 잊지 말아야합니다.

source ~/.bash_profile

@just-dodo
Copy link
Member Author

ㅠㅠ감사합니다 ㅠㅜ 위에 말씀 주신 사항들 전부 해봤는데 안되네요 ㅠㅠ 그냥 인스턴스 폭파하는게 답일까요....

@davin111
Copy link
Member

davin111 commented Nov 20, 2020

ModuleNotFoundError: No module named 'encodings' 여기서 실마리를 찾아야할 거 같기도 하구요. 그냥 파일 경로 관련해서 Python이 근본부터 박살난 상태 같기도. https://stackoverflow.com/questions/38132755/importerror-no-module-named-encodings

@davin111
Copy link
Member

근데 정작 질문에 무엇을 실행했을 때 이 에러가 발생하는지가 중요한데 이 질문에 그게 빠져있는 것 같습니다. uwsgi 실행이라면 Python 가상환경에서 실행하고 있는 게 맞는지도 확인해야겠네요.

@davin111 davin111 added backend HW4 question Further information is requested labels Nov 20, 2020
@just-dodo
Copy link
Member Author

아 넵넵 맞습니다. uwsgi가 실행이 되지 않고, 위와 같이 로그에 문제가 뜹니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend HW4 question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants