2017-02-23 84 views
0

我想讓我的django應用程序使用PostgreSQL,但是,至今沒有運氣。我將應用程序設置爲使用PostgreSQL數據庫,並使用docker-compose.yml鏈接兩個容器,但是我收到錯誤,表明模塊psycopg2丟失。我安裝了所有的依賴如下的:apk --update add python3-dev, postgresql-client, postgresql-dev, musl-dev,當我嘗試使用PIP pip3 install psycopg2我收到以下錯誤psycopg2安裝:在高山碼頭集裝箱中安裝psycopg2

Collecting psycopg2 
    Downloading psycopg2-2.6.2.tar.gz (376kB) 
Installing collected packages: psycopg2 
    Running setup.py install for psycopg2 
    building 'psycopg2._psycopg' extension 
    gcc -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Os -fomit-frame-pointer -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.6.2 (dt dec pq3 ext lo64)" -DPG_VERSION_HEX=0x090409 -DHAVE_LO64=1 -I/usr/include/python3.4m -I. -I/usr/include -I/usr/include/postgresql/server -c psycopg/psycopgmodule.c -o build/temp.linux-x86_64-3.4/psycopg/psycopgmodule.o -Wdeclaration-after-statement 
error: command 'gcc' failed with exit status 1 
Complete output from command /usr/bin/python3.4 -c "import setuptools, tokenize;__file__='/tmp/pip-build-6wmwilb_/psycopg2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-f8ye_ro8-record/install-record.txt --single-version-externally-managed --compile: 
running install 

running build 

running build_py 

creating build 

creating build/lib.linux-x86_64-3.4 

creating build/lib.linux-x86_64-3.4/psycopg2 

copying lib/_json.py -> build/lib.linux-x86_64-3.4/psycopg2 

copying lib/psycopg1.py -> build/lib.linux-x86_64-3.4/psycopg2 

copying lib/pool.py -> build/lib.linux-x86_64-3.4/psycopg2 

copying lib/__init__.py -> build/lib.linux-x86_64-3.4/psycopg2 

copying lib/extensions.py -> build/lib.linux-x86_64-3.4/psycopg2 

copying lib/errorcodes.py -> build/lib.linux-x86_64-3.4/psycopg2 

copying lib/extras.py -> build/lib.linux-x86_64-3.4/psycopg2 

copying lib/tz.py -> build/lib.linux-x86_64-3.4/psycopg2 

copying lib/_range.py -> build/lib.linux-x86_64-3.4/psycopg2 

creating build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_notify.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_lobject.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_errcodes.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/dbapi20.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/dbapi20_tpc.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_types_basic.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_dates.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_bugX000.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_copy.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_module.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_async.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/testutils.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/__init__.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_cancel.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_quote.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_psycopg2_dbapi20.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_with.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/testconfig.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_transaction.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_green.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_types_extras.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_cursor.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_connection.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_bug_gc.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

copying tests/test_extras_dictcursor.py -> build/lib.linux-x86_64-3.4/psycopg2/tests 

Skipping implicit fixer: buffer 

Skipping implicit fixer: idioms 

Skipping implicit fixer: set_literal 

Skipping implicit fixer: ws_comma 

running build_ext 

building 'psycopg2._psycopg' extension 

creating build/temp.linux-x86_64-3.4 

creating build/temp.linux-x86_64-3.4/psycopg 

gcc -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Os -fomit-frame-pointer -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.6.2 (dt dec pq3 ext lo64)" -DPG_VERSION_HEX=0x090409 -DHAVE_LO64=1 -I/usr/include/python3.4m -I. -I/usr/include -I/usr/include/postgresql/server -c psycopg/psycopgmodule.c -o build/temp.linux-x86_64-3.4/psycopg/psycopgmodule.o -Wdeclaration-after-statement 

error: command 'gcc' failed with exit status 1 

---------------------------------------- 
Command "/usr/bin/python3.4 -c "import setuptools, tokenize;__file__='/tmp/pip-build-6wmwilb_/psycopg2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-f8ye_ro8-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-6wmwilb_/psycopg2 

我缺少的依賴還是我安裝psycopg2錯了嗎?

+2

是否有可能'gcc'編譯器完全失蹤?我剛剛嘗試了最新的高山形象和'apk添加postgresql-dev gcc python3-dev musl-dev && pip3安裝psycopg2'的作品。 – helb

回答

1

在Dockerfile添加這是你的Django應用程序的

RUN apk add build-base 

這就像建造必需品,包括基本的構建工具編譯C/C++ 程序