pip install psycopg2
始终失败报错:
Command "python setup.py egg_info" failed with error code 1
试尽各种偏方:
python -m pip up # 不管用
easy_install -U setuptools # 不管用
apk add libpq python-dev # 安装失败
观察报错信息再结合全网的蛛丝马迹,推测是依赖关系的问题。
终极药方与在 Stack Overflow 上看到的一致:
apk add gcc python-dev postgresql-dev musl-dev
pip install psycopg2
当然,既然用 Alpine Linux,肯定是还是希望减少不必要的体积,从而获得更轻便的 Docker Image,可以用 apk add --virtual 建立虚拟包,最后用 apk del 一次性删除掉:
RUN apk add --no-cache update libpq && \
apk add --no-cache --virtual temp-apks gcc musl-dev python-dev postgresql-dev && \
pip install psycopg2 && \
apk del temp-apks