我正在尝试使用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
答案 0 :(得分:2)
修改您的sources.list文件(通常位于etc/apt/sources.list
中)并为每个对应的deb-src
行添加deb
。
deb http://in.archive.ubuntu.com/ubuntu/精确主要限制
deb-src http://in.archive.ubuntu.com/ubuntu/精确主要限制 #Add this line
deb http://in.archive.ubuntu.com/ubuntu/精确更新主要限制
deb-src http://in.archive.ubuntu.com/ubuntu/精确更新主要限制 #Add this line
两者之间的区别:
deb
:这些存储库包含二进制文件或预编译包。
大多数用户都需要这些存储库。deb-src
:这些存储库包含的源代码
包。对开发人员有用。现在尝试:
sudo apt-get update
sudo apt-get build-dep psycopg2 # The name has changed to `psycopg2` from `python-psycopg2`
答案 1 :(得分:1)
您需要安装两件事:
sudo apt-get install build-essential
sudo apt-get build-dep python-psycopg2
第一个安装所需的构建工具,第二个安装在virtualenv中编译psycopg2所需的依赖项。