最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用python-slim鏡像遇到無法使用PostgreSQL的問題及解決方法

 更新時間:2024年08月21日 09:29:38   作者:程序設(shè)計實驗室  
這篇文章主要介紹了使用python-slim鏡像遇到無法使用PostgreSQL的問題及解決方法,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧

前言

之前不是把 DjangoStarter 的 docker 方案重新搞好了嗎

一開始demo部署是使用 SQLite 數(shù)據(jù)庫的,用著沒問題,但很快切換到 PostgreSQL 的時候就遇到問題了…

報錯

docker 啟動之后,app 容器報錯

django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 or psycopg module

排錯

一開始我還以為是 psycopg2 庫裝不上,或者是在 python_builder 階段的依賴沒有正確復(fù)制到 final 階段的容器,但后面改了幾個地方,重新試了一下都不行。

接下來使用 python src/manage.py shell 進入 shell,測試一下能否導(dǎo)入 psycopg2 庫

>>> import psycopg2
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/project/.venv/lib/python3.11/site-packages/psycopg2/__init__.py", line 51, in <module>
    from psycopg2._psycopg import (                     # noqa
ImportError: libpq.so.5: cannot open shared object file: No such file or directory

好的,經(jīng)常被 docker 坑的人應(yīng)該已經(jīng)看出問題出在系統(tǒng)環(huán)境上了

不使用 slim 鏡像換成普通的 python 鏡像就正常了…

解決

OK,既然找出問題原因,那么就可以來著手解決了。

使用 psycopg2-binary

最簡單的方法就是將 psycopg2 庫換成 psycopg2-binary,這是一個預(yù)編譯的 psycopg2 包,不需要編譯環(huán)境,安裝更簡便。

手動安裝 libpq 庫

既然缺了 libpq 庫,那就在 docker 鏡像里安裝。

這個方法我還沒測試,又麻煩又不優(yōu)雅

# 使用 Python 3.11 slim 基礎(chǔ)鏡像
FROM python:3.11-slim
# 安裝 psycopg2 依賴
RUN apt-get update && apt-get install -y \
    libpq-dev \
    gcc \
    # 清理緩存以減少鏡像大小
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

不同的python基礎(chǔ)鏡像

python鏡像基于 Debian 系統(tǒng),默認是用 Debian 的最新穩(wěn)定版,也可以自己指定版本,比如 python3.11-slim-bookworm 就是指定用 Debian 12 ("bookworm") 作為基礎(chǔ)鏡像

  • python3.11-slim-bookworm 基礎(chǔ)鏡像打包出來的鏡像大小是424MB,python3.11-slim 打包出來也是這個大小
  • 使用 python3.11 基礎(chǔ)鏡像打包出來就到 1.3G 了,大小直接翻了幾倍

還可以選擇 alpine 鏡像,不過可能會遇到更多兼容性問題,我就不折騰了,心累。

小結(jié)

一般選 slim 鏡像還是可以的,基于 Debian 不怎么需要擔(dān)心兼容性問題

偶爾遇到小問題還是比較好解決的

alpine 鏡像不一樣的地方就很多了,太折騰了…

到此這篇關(guān)于使用python-slim鏡像遇到無法使用PostgreSQL的問題的文章就介紹到這了,更多相關(guān)python-slim無法使用PostgreSQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PostgreSQL:string_agg?多列值聚合成一列的操作示例

    PostgreSQL:string_agg?多列值聚合成一列的操作示例

    PostgreSQL中的STRING_AGG()函數(shù)是一個聚合函數(shù),用于連接字符串列表并在字符串之間放置分隔符,這篇文章主要介紹了PostgreSQL:string_agg多列值聚合成一列,需要的朋友可以參考下
    2023-08-08
  • PostgreSQL 添加各種約束語法的操作

    PostgreSQL 添加各種約束語法的操作

    這篇文章主要介紹了PostgreSQL 添加各種約束語法的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • PostgreSQL進行數(shù)據(jù)導(dǎo)入和導(dǎo)出的操作代碼

    PostgreSQL進行數(shù)據(jù)導(dǎo)入和導(dǎo)出的操作代碼

    在數(shù)據(jù)庫管理中,數(shù)據(jù)的導(dǎo)入和導(dǎo)出是非常常見的操作,特別是在 PostgreSQL 中,提供了多種工具和方法來實現(xiàn)數(shù)據(jù)的有效管理,本文將詳細介紹在 PostgreSQL 中如何進行數(shù)據(jù)導(dǎo)入和導(dǎo)出,并給出具體的命令及示例,需要的朋友可以參考下
    2024-10-10
  • PostgreSQL 主備數(shù)據(jù)宕機恢復(fù)測試方案

    PostgreSQL 主備數(shù)據(jù)宕機恢復(fù)測試方案

    這篇文章主要介紹了PostgreSQL 主備數(shù)據(jù)宕機恢復(fù)測試方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • postgresql 補齊空值、自定義查詢字段并賦值操作

    postgresql 補齊空值、自定義查詢字段并賦值操作

    這篇文章主要介紹了postgresql 補齊空值、自定義查詢字段并賦值操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL 流復(fù)制異步轉(zhuǎn)同步的操作

    PostgreSQL 流復(fù)制異步轉(zhuǎn)同步的操作

    這篇文章主要介紹了PostgreSQL 流復(fù)制異步轉(zhuǎn)同步的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • PostgreSql生產(chǎn)級別數(shù)據(jù)庫安裝要注意事項

    PostgreSql生產(chǎn)級別數(shù)據(jù)庫安裝要注意事項

    這篇文章主要介紹了PostgreSql生產(chǎn)級別數(shù)據(jù)庫安裝要注意事項,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • Postgresql - 查看鎖表信息的實現(xiàn)

    Postgresql - 查看鎖表信息的實現(xiàn)

    這篇文章主要介紹了Postgresql 查看鎖表信息的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • PostgreSQL數(shù)據(jù)庫命令行執(zhí)行SQL腳本的三種方式

    PostgreSQL數(shù)據(jù)庫命令行執(zhí)行SQL腳本的三種方式

    生成環(huán)境中,出于安全性等原因,往往不提供數(shù)據(jù)庫連接工具,所以對數(shù)據(jù)庫的更新和升級就得通過命令行來實現(xiàn),本文總結(jié)了三種命令行執(zhí)行sql腳本的方式,需要的朋友可以參考下
    2024-02-02
  • PostgreSQL中使用數(shù)組改進性能實例代碼

    PostgreSQL中使用數(shù)組改進性能實例代碼

    這篇文章主要給大家介紹了關(guān)于PostgreSQL中使用數(shù)組改進性能的相關(guān)資料,文中通過示例代碼以及圖文介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12

最新評論

西城区| 永吉县| 大新县| 泰来县| 砚山县| 长宁县| 巩义市| 楚雄市| 措美县| 石屏县| 怀化市| 冕宁县| 湛江市| 高陵县| 乌鲁木齐市| 滨州市| 永兴县| 井研县| 佛坪县| 平和县| 裕民县| 渭南市| 宁波市| 姚安县| 济阳县| 外汇| 花莲市| 河源市| 保靖县| 泸定县| 大庆市| 恭城| 晋江市| 桑日县| 定襄县| 韩城市| 定兴县| 瑞金市| 武穴市| 金华市| 西林县|