在Ubuntu 16.04中设置PYTHONPATH以使Docker镜像正常运行

And*_*oll 2 python ubuntu gunicorn docker

我有一个运行gunicorn进程的docker镜像,但每次运行时我都会收到错误ImportError: No module named 'crm'.所以我正在关注这篇SO帖子来解决这个问题.

但是,当我跑

ENTRYPOINT ["PYTHONPATH=`pwd`/..", "/usr/local/bin/gunicorn", "web_interface:app", "-w 4", "-t 90", "--log-level=debug", "-b 0.0.0.0:8000",  "--reload"]
Run Code Online (Sandbox Code Playgroud)

容器吐了回来

ERROR: for web  Cannot start service web: oci runtime error: container_linux.go:247: starting container process caused "exec: \"PYTHONPATH=`pwd`/.. \": stat PYTHONPATH=`pwd`/.. : no such file or directory"
Run Code Online (Sandbox Code Playgroud)

知道如何运行PYTHONPATH命令吗?

我应该声明它在我的Mac上本地工作,但不在Ubuntu容器中.

我尝试过的:

"PYTHONPATH=PWD/.."

"PYTHONPATH=$(pwd)/.."

"PYTHONPATH=$PWD/.."

zig*_*arn 12

您应该ENTRYPOINT使用ENV指令定义外部环境:

ENV PYTHONPATH /absolute/path/to/the/pythonpath/inside/the/container
ENTRYPOINT ["/usr/local/bin/gunicorn", "web_interface:app", "-w 4", "-t 90", "--log-level=debug", "-b 0.0.0.0:8000",  "--reload"]
Run Code Online (Sandbox Code Playgroud)