使用 docker-compose build 时出错:__init__() 得到了一个意外的关键字参数 'interpolate'

getting error while using docker-compose build: __init__() got an unexpected keyword argument 'interpolate'

我是 docker 的新手,在 运行 docker-compose build 命令时出现此错误。

Traceback (most recent call last):                                                                   
  File "/home/ghostface/playground/bootcamp/venv/bin/docker-compose", line 11, in <module>
    sys.exit(main())                                                                                      
  File "/home/ghostface/playground/bootcamp/venv/lib/python3.6/site-packages/compose/cli/main.py", line 72, in main
    command()
  File "/home/ghostface/playground/bootcamp/venv/lib/python3.6/site-packages/compose/cli/main.py", line 125, in perform_command
    project = project_from_options('.', options)
  File "/home/ghostface/playground/bootcamp/venv/lib/python3.6/site-packages/compose/cli/command.py", line 76, in project_from_options
    environment_file=environment_file
  File "/home/ghostface/playground/bootcamp/venv/lib/python3.6/site-packages/compose/cli/command.py", line 135, in get_project
    config_data = config.load(config_details, compatibility, interpolate)
  File "/home/ghostface/playground/bootcamp/venv/lib/python3.6/site-packages/compose/config/config.py", line 411, in load
    service_dicts = load_services(config_details, main_file, compatibility, interpolate=interpolate)
  File "/home/ghostface/playground/bootcamp/venv/lib/python3.6/site-packages/compose/config/config.py", line 510, in load_services
    return build_services(service_config)
  File "/home/ghostface/playground/bootcamp/venv/lib/python3.6/site-packages/compose/config/config.py", line 491, in build_services
    for name, service_dict in service_config.items()
  File "/home/ghostface/playground/bootcamp/venv/lib/python3.6/site-packages/compose/config/config.py", line 491, in <listcomp>
    for name, service_dict in service_config.items()
  File "/home/ghostface/playground/bootcamp/venv/lib/python3.6/site-packages/compose/config/config.py", line 483, in build_service
    interpolate
  File "/home/ghostface/playground/bootcamp/venv/lib/python3.6/site-packages/compose/config/config.py", line 888, in finalize_service
    service_dict['environment'] = resolve_environment(service_dict, environment, interpolate)
  File "/home/ghostface/playground/bootcamp/venv/lib/python3.6/site-packages/compose/config/config.py", line 687, in resolve_environment
    env.update(env_vars_from_file(env_file, interpolate))
  File "/home/ghostface/playground/bootcamp/venv/lib/python3.6/site-packages/compose/config/environment.py", line 42, in env_vars_from_file
    env = dotenv.dotenv_values(dotenv_path=filename, encoding='utf-8-sig', interpolate=interpolate)
  File "/home/ghostface/playground/bootcamp/venv/lib/python3.6/site-packages/dotenv/main.py", line 283, in dotenv_values
    return DotEnv(f, verbose=verbose, **kwargs).dict()
TypeError: __init__() got an unexpected keyword argument 'interpolate' 

docker-compose version

的结果

docker-compose 版本 1.26.0,构建未知
docker-py版本:4.2.1
CPython 版本:3.6.8
OpenSSL 版本:OpenSSL 1.1.1c 2019 年 5 月 28 日

Requirement.txt 文件:

Flask==1.1.1          
Flask-Login==0.4.1             
Flask-Mail==0.9.1                
Flask-Migrate==2.5.2                   
Flask-Moment==0.9.0                
Flask-SQLAlchemy==2.4.0                 
Flask-WTF==0.14.2            
pusher==2.1.4            
PyJWT==1.7.1           
pylint==2.3.1               
python-dotenv==0.10.3                
Werkzeug==0.16.1                       
gunicorn       
docker-compose             

您容器中的代码使用比 requirements.txt 文件中所列版本更新的 python-dotenv 版本,如 interpolate option was added in v0.11.0.

您需要将 requirements.txt 中的版本更改为 0.11.0(或最新版本)并重新安装依赖项。

您的容器似乎使用了 virtual environment。您可能需要检查容器中的依赖项是否已正确更新,可以通过 Dockerfile 中的 运行 pip install 或事先在本地 运行 进行更新。