我正在尝试使用 docker-compose 以及 DRF 和 Celery 启动 Rabbitmq。这是我的 docker-compose 文件。除了rabbitmq之外,其他一切都工作正常:
version: '3.7'
services:
drf:
build: ./drf
entrypoint: ["/bin/sh","-c"]
command:
- |
python manage.py migrate
python manage.py runserver 0.0.0.0:8000
volumes:
- ./drf/:/usr/src/drf/
ports:
- 8000:8000
env_file:
- ./.env.dev
depends_on:
- db
db:
image: postgres:12.0-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=base_test
redis:
image: redis:alpine
volumes:
- redis:/data
ports:
- "6379:6379"
depends_on:
- drf
rabbitmq:
image: rabbitmq:3-management-alpine
container_name: 'rabbitmq'
ports:
- 5672:5672
- 15672:15672
volumes:
- ~/.docker-conf/rabbitmq/data/:/var/lib/rabbitmq/
- ~/.docker-conf/rabbitmq/log/:/var/log/rabbitmq …Run Code Online (Sandbox Code Playgroud) 我有几个必须使用 python ElemetTree 解析的 XML 文件(它们是其他开发人员遗留下来的)。
到目前为止,我已经稍微纠正了这些文件并解析了很大一部分,但在某个时刻我遇到了这个解析错误,并且我无法解决它。尝试解析原始文件(当然我正在使用副本),尽管它一开始工作得很好,但它仍然是相同的错误。
错误:
ParseError: mismatched tag
我的代码是:
import xml.etree.ElementTree as ET
tree = ET.parse('astrod.xml')
Run Code Online (Sandbox Code Playgroud)
完整错误文本:
Traceback (most recent call last):
File "D:\dev\tools\Anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 3326, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-4-6aa074179306>", line 2, in <module>
tree = ET.parse('astrod.xml')
File "D:\dev\tools\Anaconda\lib\xml\etree\ElementTree.py", line 1197, in parse
tree.parse(source, parser)
File "D:\dev\tools\Anaconda\lib\xml\etree\ElementTree.py", line 598, in parse
self._root = parser._parse_whole(source)
File "<string>", line unknown
ParseError: mismatched tag: line 449, column 3
Run Code Online (Sandbox Code Playgroud)