使用dockercompose生成时出现错误:\uuuu init\uuuu()获得意外的关键字参数“interpolate”

2024-09-30 20:25:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我是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             

Tags: composeinpyconfighomevenvlibpackages
1条回答
网友
1楼 · 发布于 2024-09-30 20:25:22

容器中的代码使用的python-dotenv版本比requirements.txt文件中列出的版本更新,因为interpolate option是在v0.11.0中添加的

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

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

相关问题 更多 >