Im próbuje zainstalować lxml w virtualenv z sudo pip install lxml
a także sudo pip install --upgrade lxml
ale otrzymuję następujący w obu przypadkach:Nie można zainstalować lxml w python2.7
x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,
relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes
-D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat
-Werror=format-security build/temp.linux-x86_64-2.7/src/lxml/lxml.etree.o -lxslt
-lexslt -lxml2 -lz -lm -o build/lib.linux-x86_64-2.7/lxml/etree.so
/usr/bin/ld: cannot find -lz
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools,
tokenize;__file__='/tmp/pip_build_root/lxml/setup.py';
exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'),
__file__, 'exec'))" install --record /tmp/pip-nmFOYf-record/install-record.txt
--single-version-externally-managed --compile failed with error code 1 in
/tmp/pip_build_root/lxml
Storing debug log for failure in /root/.pip/pip.log
Próbowałem wszystkie zamieszczone rozwiązania, które here oznacza to, że mam libxml2-dev
, libxslt-dev
i python-dev
zainstalowane i ja również zainstalowany build-essential
jestem obecnie systemem Linux Mint 17 Debiana w których używa apt-get
jako menedżera pakietów.
python-lxml
został już zainstalowany.
Dlaczego używasz 'sudo' w virtualenv? Czy utworzyłeś virtualenv jako root? Jeśli tak, dlaczego? Czy próbujesz zainstalować go do pakietów systemowych, nawet jeśli znajdujesz się w virtualenv? Jeśli tak, dlaczego nie zrobić tego spoza virtualenv? – abarnert
@abarnert Cóż, po raz pierwszy zrobiłem to bez sudo, wtedy próbowałem zainstalować LXML na całym świecie, ale nie działał. – helado
Po prostu losowe miksowanie virtualenv i globalnych instalacji z i bez sudo doprowadzi do złamanego virtualenv z przykręconymi uprawnieniami. Nie rób tego. – abarnert