图Python 3兼容?

我有一个运行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不兼容吗? 也就是说,有什么方法可以用无花果来构build我的应用程序,还是我运气不好? 图是用自制软件安装的。

这是我的无花果文件:

 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的版本,而是我的无花果文件。

图文件在环境variables前不应该有破折号。 更正的无花果文件如下:

 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 

Fig是一个用Python 2.7编写的工具,并不是Python 3中可用的,但这并不意味着它与Python 3项目不兼容,因为它没有被集成到项目代码中。 它是一个单独的工具,由Python 2.7自行运行。

包名包含一个提示: fig-1.0.1-py2.7.egg

看来你安装了图2的Python 2版本。 尝试使用Python 3环境下的pip install fig进行安装。