![](/img/trans.png)
[英]django OSError: no library called "cairo" was found on windows
[英]OSError: no library called “cairo” was found
我一直試圖弄清楚為什么只有當我在 docker 容器中運行它時才會收到這個錯誤,但是當我在本地運行我的程序時,它工作正常。 我已經查看了 StackOverflow 上其他類似問題的帖子,但不幸的是,他們似乎都在本地運行他們的程序時遇到了問題,但就我而言,我只是在容器中遇到了問題。
該項目用於創建可用於打印屬性標簽貼紙(二維碼)的文件。 創建的文件是嵌入了圖像的 Word 文檔。 圖像對齊打印在 Avery 標簽紙上。
OSError: no library called "cairo" was found
no library called "libcairo-2" was found
cannot load library 'libcairo.so.2': libcairo.so.2: cannot open shared object file: No such file or directory
cannot load library 'libcairo.2.dylib': libcairo.2.dylib: cannot open shared object file: No such file or directory
cannot load library 'libcairo-2.dll': libcairo-2.dll: cannot open shared object file: No such file or directory
這是我在我的requirements.txt中寫的。 我相當確定這應該安裝我需要的所有依賴項,但它在 docker 容器中不起作用。
cairocffi==1.2.0
CairoSVG==2.5.2
cffi==1.14.5
cssselect2==0.4.1
defusedxml==0.7.1
lxml==4.6.3
Pillow==8.3.0
pycparser==2.20
PyQRCode==1.2.1
python-docx==0.8.11
PyYAML==5.4.1
svgwrite==1.4.1
tinycss2==1.1.0
webencodings==0.5.1
我的問題的解決方案與許多人所描述的完全一樣; libcairo.so2 庫不包含在 python 庫中。 要將其添加到 docker 容器中,您只需像這樣編輯 dockerfile...
FROM python:3.8-slim-buster
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
# Install pip requirements
COPY requirements.txt .
RUN python3 -m pip install -r requirements.txt
RUN apt-get update -y
RUN apt-get install -y libcairo2
WORKDIR /app
COPY . /app
CMD ["python3", "insQr2.py"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.