我有一个运行python 3.4的django应用程序,我想使用Fig帮助我的应用程序组件设置dockerized容器。当我运行时fig up
,出现以下错误:
Recreating app_db_1...
Recreating app_search_1...
Creating app_web_1...
Traceback (most recent call last):
File "/usr/local/Cellar/fig/1.0.1/libexec/bin/fig", line 9, in <module>
load_entry_point('fig==1.0.1', 'console_scripts', 'fig')()
File "/usr/local/Cellar/fig/1.0.1/lib/python2.7/site-packages/fig-1.0.1-py2.7.egg/fig/cli/main.py", line 31, in main
File "/usr/local/Cellar/fig/1.0.1/lib/python2.7/site-packages/fig-1.0.1-py2.7.egg/fig/cli/docopt_command.py", line 21, in sys_dispatch
File "/usr/local/Cellar/fig/1.0.1/lib/python2.7/site-packages/fig-1.0.1-py2.7.egg/fig/cli/command.py", line 28, in dispatch
File "/usr/local/Cellar/fig/1.0.1/lib/python2.7/site-packages/fig-1.0.1-py2.7.egg/fig/cli/docopt_command.py", line 24, in dispatch
File "/usr/local/Cellar/fig/1.0.1/lib/python2.7/site-packages/fig-1.0.1-py2.7.egg/fig/cli/command.py", line 56, in perform_command
File "/usr/local/Cellar/fig/1.0.1/lib/python2.7/site-packages/fig-1.0.1-py2.7.egg/fig/cli/main.py", line 427, in up
File "/usr/local/Cellar/fig/1.0.1/lib/python2.7/site-packages/fig-1.0.1-py2.7.egg/fig/project.py", line 174, in up
File "/usr/local/Cellar/fig/1.0.1/lib/python2.7/site-packages/fig-1.0.1-py2.7.egg/fig/service.py", line 199, in recreate_containers
File "/usr/local/Cellar/fig/1.0.1/lib/python2.7/site-packages/fig-1.0.1-py2.7.egg/fig/service.py", line 176, in create_container
File "/usr/local/Cellar/fig/1.0.1/lib/python2.7/site-packages/fig-1.0.1-py2.7.egg/fig/service.py", line 370, in _get_container_create_options
TypeError: unhashable type: 'dict'
这是因为与Python 3不兼容吗?即有什么方法可以使用无花果帮助构建我的应用程序,还是我不走运?图是使用自制软件安装的。
这是我的无花果文件:
db:
image: kartoza/postgis
web:
build: .
command: python manage.py runserver:8000
volumes:
- .:/code
ports:
- "8000:8000"
links:
- db
- search
environment:
- ALLOWED_HOSTS:
- STRIPE_CLIENT_ID:
- STRIPE_CLIENT_SECRET:
- GOOGLE_API_KEY:
search:
image: dockerfile/elasticsearch
links:
- db
原来问题不在于Python版本,而在于我的fig文件。
图文件的环境变量前不应带有破折号。更正的无花果文件如下:
db:
image: kartoza/postgis
web:
build: .
command: python manage.py runserver:8000
volumes:
- .:/code
ports:
- "8000:8000"
links:
- db
- search
environment:
ALLOWED_HOSTS:
STRIPE_CLIENT_ID:
STRIPE_CLIENT_SECRET:
GOOGLE_API_KEY:
search:
image: dockerfile/elasticsearch
links:
- db
图是用Python 2.7编写的工具,并且在Python 3版本中不可用,但这并不意味着它与Python 3项目不兼容,因为它没有集成到项目代码中。它是一个单独的工具,由python 2.7单独运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句