Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用docker compose build时出现错误:uuu init_uuu()获取了意外的关键字参数';内插';_Python_Flask_Dotenv - Fatal编程技术网

Python 使用docker compose build时出现错误:uuu init_uuu()获取了意外的关键字参数';内插';

Python 使用docker compose build时出现错误:uuu init_uuu()获取了意外的关键字参数';内插';,python,flask,dotenv,Python,Flask,Dotenv,我是docker新手,在运行docker compose build命令时,我遇到了这个错误 回溯(最近一次呼叫最后一次): 文件“/home/ghostface/playway/bootcamp/venv/bin/docker compose”,第11行,在 sys.exit(main()) 文件“/home/ghostface/playway/bootcamp/venv/lib/python3.6/site packages/compose/cli/main.py”,第72行,在main中

我是docker新手,在运行
docker compose build
命令时,我遇到了这个错误

回溯(最近一次呼叫最后一次):
文件“/home/ghostface/playway/bootcamp/venv/bin/docker compose”,第11行,在
sys.exit(main())
文件“/home/ghostface/playway/bootcamp/venv/lib/python3.6/site packages/compose/cli/main.py”,第72行,在main中
命令()
文件“/home/ghostface/playdy/bootcamp/venv/lib/python3.6/site packages/compose/cli/main.py”,第125行,在perform_命令中
项目=项目来自项目选项('.',选项)
文件“/home/ghostface/playway/bootcamp/venv/lib/python3.6/site packages/compose/cli/command.py”,第76行,项目中的
环境文件=环境文件
文件“/home/ghostface/playway/bootcamp/venv/lib/python3.6/site packages/compose/cli/command.py”,第135行,在get_项目中
config\u data=config.load(配置详细信息、兼容性、插值)
文件“/home/ghostface/playdey/bootcamp/venv/lib/python3.6/site packages/compose/config/config.py”,第411行,已加载
服务目录=加载服务(配置详细信息、主文件、兼容性、插值=插值)
文件“/home/ghostface/playway/bootcamp/venv/lib/python3.6/site packages/compose/config/config.py”,第510行,加载服务
返回生成服务(服务配置)
文件“/home/ghostface/playdy/bootcamp/venv/lib/python3.6/site packages/compose/config/config.py”,第491行,内置服务
对于名称,在service_config.items()中输入service_dict
文件“/home/ghostface/playdy/bootcamp/venv/lib/python3.6/site packages/compose/config/config.py”,第491行,在
对于名称,在service_config.items()中输入service_dict
文件“/home/ghostface/playdey/bootcamp/venv/lib/python3.6/site packages/compose/config/config.py”,第483行,内置服务
插入
文件“/home/ghostface/playdy/bootcamp/venv/lib/python3.6/site packages/compose/config/config.py”,第888行,在finalize_服务中
服务目录['environment']=解析目录环境(服务目录,环境,插值)
文件“/home/ghostface/playdy/bootcamp/venv/lib/python3.6/site packages/compose/config/config.py”,第687行,在resolve_环境中
更新环境(来自环境文件的环境变量(环境文件,插值))
文件“/home/ghostface/playdy/bootcamp/venv/lib/python3.6/site packages/compose/config/environment.py”,第42行,位于env_vars_from_文件中
env=dotenv.dotenv_值(dotenv_路径=filename,encoding='utf-8-sig',interpolate=interpolate)
文件“/home/ghostface/playdey/bootcamp/venv/lib/python3.6/site packages/dotenv/main.py”,第283行,在dotenv_值中
return DotEnv(f,verbose=verbose,**kwargs).dict()
TypeError:\uuuu init\uuuuuuuuuu()获得意外的关键字参数“interpolate”
docker编写版本的结果

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

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


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

这是docker compose错误还是容器构建错误?无论在哪个映像中使用的是
python dotenv
包,都与后者非常相似。@amiasato在构建映像时出现此错误。出现此错误的原因似乎是虚拟环境中较旧版本的
python dotenv
库-此参数是最近添加的。你能分享一些关于该应用程序的更多信息吗,即依赖项是如何列出的?我假设有一个名为
requirements.txt
的文件。然后通过
source venv/bin/activate
激活虚拟环境,然后运行
pip install-r requirements.txt
应该会有帮助。@NickShebanov thanx,这解决了我的问题,似乎
venv
文件夹在不同的文件夹中。很高兴听到这个消息!在任何情况下,我建议了一个解决方案,如果您在类似设置中遇到任何问题,您可能希望在将来使用该解决方案。