我正在尝试将docker容器中的默认python设置为python3,并在dockerfile中设置了别名。当我打开.bashrc文件时,它们就会出现。据我所知,它应该可以工作,但是默认的python版本仍然是2.7。如果我运行哪个python,它将仍然指向usr / bin / python而不是python3。点子一样。谁能告诉我问题出在哪里?这是我用来别名的命令:
RUN \
echo 'alias python="/usr/bin/python3"' >> /root/.bashrc && \
echo 'alias pip="/usr/bin/pip3"' >> /root/.bashrc
这看起来正确吗?我正在使用ubuntu 17.10
答案 0 :(得分:1)
您尝试为python bin创建符号链接
RUN ls -s /usr/bin/python3 /usr/bin/python & \
ls -s /usr/bin/pip3 /usr/bin/pip
另一种选择是使用update-alternatives
进行更多访问this site
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3
另一种选择是在更新后尝试获取bashrc文件的源代码
RUN \
echo 'alias python="/usr/bin/python3"' >> /root/.bashrc && \
echo 'alias pip="/usr/bin/pip3"' >> /root/.bashrc && \
source /root/.bashrc
我建议在Docker Hub上查看python图像的所有选项
提示:使用anaconda
或conda
来管理python版本(conda site)
答案 1 :(得分:0)
以上答案很好,除了应该是
RUN ln -s /usr/bin/python3 /usr/bin/python & \
ln -s /usr/bin/pip3 /usr/bin/pip
我认为他们是通过写ls
而不是实际上构成符号链接的ln
来打字的。