在DockerFile中运行Ubuntu:latest版本的Python3

6

我将尝试将我的脚本从 Python 2.7 升级到 Python 3.5。这是一个简单的 Flask 管理脚本,运行在 Docker 容器中。

DockerFile:

FROM ubuntu:latest

RUN apt-get update -y && apt-get install -y python-pip python3.5-dev build-essential libpq-dev

....

CMD ["/usr/bin/python", "app.py"]

这将在Python 2.7中运行。我尝试更新到


CMD ["/usr/bin/python3", "parcelnotifer.py"]

但是这会导致错误

无法启动 dev 服务: oci 运行时错误: exec: "/usr/bin/python3": stat /usr/bin/python3: 没有那个文件或目录

如果我在容器运行在2.7时使用docker exec命令进入容器,我可以使用python3命令,所以Python3肯定已经安装了,我只是不确定如何强制脚本在Python3中运行

1个回答

4
您可以先使用which python3命令检查Python的安装位置,然后将该路径放入您的CMD命令中。

谢谢。路径是 /usr/bin/python3,我已经尝试过了,但可能打错了一个字母,现在它可以工作了。然而,似乎通过PIP安装的splinter、flask等包在Python 3上无法工作。 - user6723321
@19421608,如果你只为Python2安装了它们,那也没关系。你应该为Python3安装它们,但现在要使用pip3而不是pip - ForceBru
当我运行docker-compose时,它会显示“/bin/sh: 1: pip-3: not found”(当我删除破折号并只使用pip3时也是如此)。我尝试安装pip3,但也出现错误:“:无法找到软件包python-pip3”。 - user6723321
2
@19421608,你可以通过安装python3-pip包来获取适用于3.x版本的pip3 - ForceBru

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接