Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Dockerfile中安装Postgres9.6.x的postgresql开发?_Postgresql_Python 2.7_Docker_Alpine - Fatal编程技术网

在Dockerfile中安装Postgres9.6.x的postgresql开发?

在Dockerfile中安装Postgres9.6.x的postgresql开发?,postgresql,python-2.7,docker,alpine,Postgresql,Python 2.7,Docker,Alpine,我已经在互联网上搜索了两天,现在正在寻找一种安装postgresql dev for 9.6的方法,因为我正在尝试运行一个非常过时的dep。很遗憾,正在运行以下Dockerfile命令: FROM python:2.7-alpine ENV PYTHONUNBUFFERED 1 RUN mkdir /app/ RUN mkdir ./app/logs/ RUN mkdir ./app/xxx/ WORKDIR /app/xxx/ ADD requirements.txt /app/xxx/ AD

我已经在互联网上搜索了两天,现在正在寻找一种安装postgresql dev for 9.6的方法,因为我正在尝试运行一个非常过时的dep。很遗憾,正在运行以下Dockerfile命令:

FROM python:2.7-alpine
ENV PYTHONUNBUFFERED 1
RUN mkdir /app/
RUN mkdir ./app/logs/
RUN mkdir ./app/xxx/
WORKDIR /app/xxx/
ADD requirements.txt /app/xxx/
ADD ./ /app/xxx/
RUN apk --update add python py-pip openssl postgresql-dev ca-certificates py-openssl libffi-dev musl-dev openssl-dev wget build-base gcc python-dev py-pip jpeg-dev zlib-dev libx
ml2 libxslt-dev                                                                                                                                                                 
ENV LIBRARY_PATH=/lib:/usr/lib
RUN pip install --upgrade pip setuptools
RUN pip install psycopg2==2.4.5
给我以下错误:

Collecting psycopg2==2.4.5
  Downloading https://files.pythonhosted.org/packages/36/77/894a5dd9f3f55cfc85682d3e6473ee5103d8d418b95baf4019fad3ffa026/psycopg2-2.4.5.tar.gz (719kB)
    Complete output from command python setup.py egg_info:
    running egg_info
    creating pip-egg-info/psycopg2.egg-info
    writing pip-egg-info/psycopg2.egg-info/PKG-INFO
    writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt
    writing dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt
    writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt'
    Error: could not determine PostgreSQL version from '11.2'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-UcoQQZ/psycopg2/
我理解这意味着,当我需要9.6时,我正在从PostgreSQL dev安装PostgreSQL 11.2。我似乎在任何地方都找不到这个apk,而且运行postgresql dev=9.6.5或其等效版本似乎也不起作用

有没有办法从python2.7 alpine(或任何其他docker)获得这个版本的postgresql开发?我看到有postgres docker容器,但我是docker新手,也无法让它们运行(psycopg2完全无法找到它们的安装)

这对我来说很有用:

# Python 3.6 on Alpine linux, a snall secure flavor of linux
FROM python:3.6-alpine

# Add community repositories to install dependencies
RUN echo "http://dl-8.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories

# These dependencies are required for matplotlib and numpy
RUN apk --no-cache --update-cache add gcc freetype-dev libpng-dev musl-dev linux-headers g++ gfortran python3-dev

# This symlink fixes an error in numpy compilation
RUN ln -s /usr/include/locale.h /usr/include/xlocale.h

# Postgres libs and dependencies, plus python-ldap depdency
RUN apk --no-cache --update-cache add postgresql-libs postgresql-dev libffi-dev openldap-dev unixodbc-dev git 

COPY requirements.txt /app_name/requirements.txt

RUN pip3 install --upgrade pip
RUN pip3 intall --upgrade setuptools

RUN pip3 install -r /app_name/requirements.txt # includes psycopg2==2.7.3.1

也许你可以把它翻译成python27


(顺便说一句,Python2.7即将推出,仅供参考)

在Alpine存储库中,与
postgresql dev
9.6.5最接近的版本是
9.6.10-r0
,在Alpine 3.5中使用:

无论您的Alpine版本如何,您都可以指示apk从V3.5 apk存储库中选择此确切版本:

apk add postgresql-dev=9.6.10-r0 --repository=http://dl-cdn.alpinelinux.org/alpine/v3.5/main

不幸的是,没有,这给了我同样的错误。您仍在安装postgresql dev,它是11.2,我需要找到旧版本:9.6