RuntimeWarning: во время компиляции версия 2.6 модуля 'lxml.etree' не соответствует среде исполнения версии 2.7 - PullRequest
1 голос
/ 27 февраля 2012

Я использую Python 2.7 и пытаюсь использовать lxml , но когда я пытаюсь использовать lxml.etree, я получаю эту ошибку:

RuntimeWarning: время компиляции версии 2.6 модуля«lxml.etree» не соответствует среде выполнения версии 2.7

И затем эта ошибка:

Файл «lxml.etree.pyx», строка 123, в init lxml.etree (src / lxml / lxml.etree.c: 160385) TypeError: encode () аргумент 1 должен быть строкой без нулевых байтов, а не Unicode

Я попытался установить с помощью easy_install и с помощью pip

После установки я вижу следующее сообщение:

Установлено /usr/lib/python2.6/site-packages/lxml-2.3.3-py2.6-linux-x86_64.egg

Ответы [ 2 ]

2 голосов
/ 27 февраля 2012

Убедитесь, что вы используете правильные easy_install и pip. Когда easy_install и pip устанавливаются, они «соединяются» с версией python через символическую ссылку с любой версией python, которую вы использовали для их установки.

Если вы используете python-2.7, убедитесь, что вы используете easy_install-2.7 или pip-2.7. Скорее всего, пип, который вы использовали, был связан с 2.6, а символическая ссылка - «pip -> pip2.6».

Если вы используете python2.7, убедитесь, что символические ссылки easy_install и pip установлены правильно. (Это должно быть так же просто, как найти easy_install и заменить его так, чтобы он указывал на easy_install-2.7, затем запустите easy_install pip, и pip заменит его собственную ссылку.

Чтобы заменить easy_install на правильную версию:

wget http://peak.telecommunity.com/dist/ez_setup.py
python2.7 ez_setup.py

Это должно заменить ваш существующий easy_install на тот, который использует правильную версию Python. Переустановите pip, используя его, и любые другие необходимые вам модули.

0 голосов
/ 22 ноября 2018

Я использую python 2.7, pip 2.8, и я получаю это как ошибку при установке пакета bs4.Может кто-нибудь мне помочь.Ниже приведена трассировка стека:

python is /usr/local/bin/python
System is Running Required Python version :2.7
Python to be used : /usr/local/bin/python
pip is /usr/bin/pip
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/bs4/__init__.py", line 30, in <module>
    from .builder import builder_registry, ParserRejectedMarkup
  File "/usr/lib/python2.7/site-packages/bs4/builder/__init__.py", line 317, in <module>
    from . import _lxml
  File "/usr/lib/python2.7/site-packages/bs4/builder/_lxml.py", line 9, in <module>
    from lxml import etree
  File "lxml.etree.pyx", line 134, in init lxml.etree (src/lxml/lxml.etree.c:187500)
TypeError: encode() argument 1 must be string without null bytes, not unicode
bs4 is not installed. Installing latest available version...
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/bs4/__init__.py", line 30, in <module>
    from .builder import builder_registry, ParserRejectedMarkup
  File "/usr/lib/python2.7/site-packages/bs4/builder/__init__.py", line 317, in <module>
    from . import _lxml
  File "/usr/lib/python2.7/site-packages/bs4/builder/_lxml.py", line 9, in <module>
    from lxml import etree
  File "lxml.etree.pyx", line 134, in init lxml.etree (src/lxml/lxml.etree.c:187500)
TypeError: encode() argument 1 must be string without null bytes, no
...