Установка PyQuery через Pip

Я пытаюсь установить PyQuery через pip, но получаю ошибку, которую не понимаю. Команда, которую я использовал, была:

sudo pip install pyquery

Я получаю вывод ниже:

Requirement already satisfied (use --upgrade to upgrade): pyquery in /usr/local/lib/python2.7/dist-packages
Downloading/unpacking lxml>=2.1 (from pyquery)
Running setup.py egg_info for package lxml
/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
  warnings.warn(msg)
Building lxml version 3.3.0.
Building without Cython.
ERROR: /bin/sh: 1: xslt-config: not found

** make sure the development packages of libxml2 and libxslt are installed **

Using build configuration of libxslt

Downloading/unpacking cssselect (from pyquery)
Running setup.py egg_info for package cssselect

no previously-included directories found matching 'docs/_build'
Installing collected packages: lxml, cssselect
Running setup.py install for lxml
/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
  warnings.warn(msg)
Building lxml version 3.3.0.
Building without Cython.
ERROR: /bin/sh: 1: xslt-config: not found

** make sure the development packages of libxml2 and libxslt are installed **

Using build configuration of libxslt
building 'lxml.etree' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/imageek/scripts/facebook/build/lxml/src/lxml/includes -I/usr/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.linux-i686-2.7/src/lxml/lxml.etree.o -w
src/lxml/lxml.etree.c:16:20: fatal error: Python.h: No such file or directory
compilation terminated.
error: command 'gcc' failed with exit status 1
Complete output from command /usr/bin/python -c "import setuptools;__file__='/home/imageek/scripts/facebook/build/lxml/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-dyUZWZ-record/install-record.txt:
/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'

warnings.warn(msg)

Building lxml version 3.3.0.

Building without Cython.

ERROR: /bin/sh: 1: xslt-config: not found



** make sure the development packages of libxml2 and libxslt are installed **



Using build configuration of libxslt

running install

running build

running build_py

copying src/lxml/includes/lxml-version.h -> build/lib.linux-i686-2.7/lxml/includes

running build_ext

building 'lxml.etree' extension

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/imageek/scripts/facebook/build/lxml/src/lxml/includes -I/usr/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.linux-i686-2.7/src/lxml/lxml.etree.o -w

src/lxml/lxml.etree.c:16:20: fatal error: Python.h: No such file or directory

compilation terminated.

error: command 'gcc' failed with exit status 1

----------------------------------------
Command /usr/bin/python -c "import setuptools;__file__='/home/imageek/scripts/facebook/build/lxml/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-dyUZWZ-record/install-record.txt failed with error code 1
Storing complete log in /home/imageek/.pip/pip.log

У меня такое ощущение, что это как-то связано с зависимостями, но не должен ли «pip» автоматически устанавливать зависимости?


person Torra    schedule 31.01.2014    source источник
comment
Это происходит в случае, если в пакете правильно установлены зависимости.   -  person Maximiliano Rios    schedule 01.02.2014
comment
Это проблема с моей версией python? Это 2,6, я думаю.   -  person Torra    schedule 01.02.2014
comment
Ваша установка достигает установки 2.7 на вашем компьютере, проверьте /usr/lib/python2.7 как судьбу   -  person Maximiliano Rios    schedule 01.02.2014
comment
Проверьте это сообщение ** убедитесь, что пакеты разработки libxml2 и libxslt установлены **   -  person Maximiliano Rios    schedule 01.02.2014
comment
Пробовал в 2.7 и тоже не работает, много ошибок в выводе   -  person Maximiliano Rios    schedule 01.02.2014
comment
У меня установлены libxml2 и libxslt.   -  person Torra    schedule 01.02.2014
comment
У меня установлено 2 установки Python, 2.6 и 3. Одна из них — системная версия (2.6). Итак, как я могу указать pip использовать python3? Так запутался.   -  person Torra    schedule 01.02.2014
comment
Это способ изменить его в Unix stackoverflow.com/questions/3339530/   -  person Maximiliano Rios    schedule 01.02.2014
comment
Во всяком случае, я только что установил двойную установку Python на компьютер Mac, и она отлично работала, так что это должно быть что-то в вашей установке.   -  person Maximiliano Rios    schedule 01.02.2014


Ответы (2)


У вас отсутствуют зависимости. Попробуйте запустить:

sudo apt-get install libxml2-dev libxslt1-dev python-dev

person Pancho Jay    schedule 24.05.2014
comment
Откуда вы знаете, какие библиотеки ему нужны? - person confused00; 10.11.2014
comment
это тоже решило мою проблему! @Torra это исправило твою? - person vitiral; 07.03.2015

Поместите следующие строки в файл с именем pyquery.sh

#ADD SWAP FOR lxml COMPILATION
fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

#ACTIVATE ENV
#Comment following line if you don't use virtualenv
#source /home/py3/bin/activate

#INSTALL ALL DEP
add-apt-repository -y ppa:ubuntu-toolchain-r/test
apt-get -y update
apt-get -y install gcc
apt-get -y install g++
apt-get -y install build-essential
apt-get -y install python-dev
apt-get -y install libxml2-dev
apt-get -y install libxslt-dev
apt-get -y install libxslt1-dev
apt-get -y install zlib1g-dev
apt-get -y install python3-setuptools
apt-get -y install python3-lxml
apt-get -y install python3-lxml-dbg
apt-get -y install python3-dev

pip install lxml
pip install pyquery

#REMOVE SWAP
swapoff /swapfile
rm -rf /swapfile

После этого запустите этот файл:

source pyquery.sh
person Adrian B    schedule 14.07.2014
comment
В моем случае я только пытался установить lxml и столкнулся с той же ошибкой. Я удалил версию репозитория python-lxml, 2.3.2-1ubuntu0.2 и попробовал еще раз. Ничего не меняется, проблема gcc остается. (Я подозревал, что так и будет, мне просто нужно было подтвердить.) - person icedwater; 03.09.2014
comment
Теперь я добавил полный скрипт - person Adrian B; 12.04.2017