GoM*_*key 4 python-2.7 python-3.x docker
我正在尝试将 docker 容器中的默认 python 设置为 python3 并在 dockerfile 中设置别名。当我打开 .bashrc 文件时,它们会出现。据我所知,它应该可以工作,但默认的 python 版本仍然是 2.7。如果我运行 which python,它仍然会指向 usr/bin/python 而不是 python3。与 pip 相同。谁能告诉我是什么问题?这是我用来别名的命令:
RUN \
echo 'alias python="/usr/bin/python3"' >> /root/.bashrc && \
echo 'alias pip="/usr/bin/pip3"' >> /root/.bashrc
Run Code Online (Sandbox Code Playgroud)
这看起来对吗?我正在使用 ubuntu 17.10
idd*_*dar 14
您尝试为 python bin 创建符号链接
RUN ln -s /usr/bin/python3 /usr/bin/python & \
ln -s /usr/bin/pip3 /usr/bin/pip
Run Code Online (Sandbox Code Playgroud)
其他选项update-alternatives
用于更多访问此站点
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3
Run Code Online (Sandbox Code Playgroud)
另一个选项是在更新后尝试获取 bashrc 文件
RUN \
echo 'alias python="/usr/bin/python3"' >> /root/.bashrc && \
echo 'alias pip="/usr/bin/pip3"' >> /root/.bashrc && \
source /root/.bashrc
Run Code Online (Sandbox Code Playgroud)
我建议在Docker Hub上查看 python 图像的所有选项
提示:使用anaconda
或conda
管理您的python 版本(conda 站点)
小智 10
上面的答案很好,但应该如下所示:
RUN ln -s /usr/bin/python3 /usr/bin/python && \
ln -s /usr/bin/pip3 /usr/bin/pip
Run Code Online (Sandbox Code Playgroud)
也许他们写错了,ls
它只是列出了目录的内容,而不是使用ln
它实际创建符号链接。
归档时间: |
|
查看次数: |
10345 次 |
最近记录: |