만난 오류
언제나 Dockerfile을 새로운 서버로 build하고 있으면, pip가 not found가 되어 버렸다. 이런 warning도 나왔다. WARNING: `pyenv init -` no longer sets PATH.
Dockerfile 사양
ubuntu18.04, cuda10.2, zsh pyenv 1.2.27 fix
구 사양의 Dockerfile (pyenv 부분의 일부) RUN curl https://pyenv.run | zsh && \
echo '' >> /root/.zshrc && \
echo 'export PATH="/root/.pyenv/bin:$PATH"' >> /root/.zshrc && \
echo 'eval "$(pyenv init -)"' >> /root/.zshrc && \
echo 'eval "$(pyenv virtualenv-init -)"' >> /root/.zshrc
새로운 사양
실질 pyenv init -
⇨ pyenv init --path
? ( .profile
을 괴롭히는 메시지가 나왔지만 따라해도 움직이지 않았기 때문에, 유지보수가 잘 되지 않는 느낌이 있다.) RUN curl https://pyenv.run | zsh && \
echo '' >> /root/.zshrc && \
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> /root/.zshrc && \
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> /root/.zshrc && \
echo 'eval "$(pyenv init --path)"' >> /root/.zshrc && \
echo 'eval "$(pyenv virtualenv-init -)"' >> /root/.zshrc
새로운 사양의 pyenv 부분의 전반적으로 RUN curl https://pyenv.run | zsh && \
echo '' >> /root/.zshrc && \
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> /root/.zshrc && \
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> /root/.zshrc && \
echo 'eval "$(pyenv init --path)"' >> /root/.zshrc && \
echo 'eval "$(pyenv virtualenv-init -)"' >> /root/.zshrc
RUN source /root/.zshrc && \
pyenv install 3.8.0 && \
pyenv global 3.8.0 && \
pip install -U pip
(그런데 매번 source /root/.zshrc
쓰지 않고 끝낼 방법은 없을까…?) 참고
(마침 2,3 일 전 기사)