2

我正在尝试使用 pip 将 psycopg2 安装到 virtualenv 中,但似乎存在某种我无法理解的 gcc 错误。我已经按照其他一些问题的建议安装了 python-dev 和 libpq-dev 。

pip install psycopg2
Downloading/unpacking psycopg2
  Running setup.py egg_info for package psycopg2

    no previously-included directories found matching 'doc/src/_build'
Installing collected packages: psycopg2
  Running setup.py install for psycopg2
    building 'psycopg2._psycopg' extension
    gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.4.5 (dt dec pq3 ext)" -DPG_VERSION_HEX=0x090104 -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -I/usr/include/python2.7 -I. -I/usr/include/postgresql -I/usr/include/postgresql/9.1/server -c psycopg/psycopgmodule.c -o build/temp.linux-i686-2.7/psycopg/psycopgmodule.o -Wdeclaration-after-statement
    gcc: error trying to exec 'as': execvp: No such file or directory
    error: command 'gcc' failed with exit status 1
    Complete output from command /home/mdang/Dropbox/WebDev/ideas/venv/bin/python -c "import setuptools;__file__='/home/mdang/Dropbox/WebDev/ideas/venv/build/psycopg2/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-SBgH20-record/install-record.txt --install-headers /home/mdang/Dropbox/WebDev/ideas/venv/include/site/python2.7:
    running install

running build

running build_py

running build_ext

building 'psycopg2._psycopg' extension

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.4.5 (dt dec pq3 ext)" -DPG_VERSION_HEX=0x090104 -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -I/usr/include/python2.7 -I. -I/usr/include/postgresql -I/usr/include/postgresql/9.1/server -c psycopg/psycopgmodule.c -o build/temp.linux-i686-2.7/psycopg/psycopgmodule.o -Wdeclaration-after-statement

gcc: error trying to exec 'as': execvp: No such file or directory

error: command 'gcc' failed with exit status 1

----------------------------------------
Command /home/mdang/Dropbox/WebDev/ideas/venv/bin/python -c "import setuptools;__file__='/home/mdang/Dropbox/WebDev/ideas/venv/build/psycopg2/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-SBgH20-record/install-record.txt --install-headers /home/mdang/Dropbox/WebDev/ideas/venv/include/site/python2.7 failed with error code 1 in /home/mdang/Dropbox/WebDev/ideas/venv/build/psycopg2
Storing complete log in /home/mdang/.pip/pip.log
4

2 回答 2

2

编辑您的 sources.list 文件(通常在 中找到)并为每个相应的行etc/apt/sources.list添加一个。deb-srcdeb

deb http://in.archive.ubuntu.com/ubuntu/精确主要受限

deb-src http://in.archive.ubuntu.com/ubuntu/精确主受限#添加这一行

deb http://in.archive.ubuntu.com/ubuntu/precision-updates主要受限

deb-src http://in.archive.ubuntu.com/ubuntu/precision-updates main restricted #添加这一行

两者的区别:

  • deb:这些存储库包含二进制文件或预编译包。大多数用户都需要这些存储库。
  • deb-src:这些存储库包含软件包的源代码。对开发人员有用。

现在尝试:

sudo apt-get update
sudo apt-get build-dep psycopg2  # The name has changed to `psycopg2` from `python-psycopg2` 
于 2013-01-18T04:39:23.010 回答
1

You need to install two things:

  1. sudo apt-get install build-essential
  2. sudo apt-get build-dep python-psycopg2

The first installs the necessary build tools you need, and the second installs the dependencies you need to compile psycopg2 inside a virtualenv.

于 2012-07-15T06:10:36.530 回答