Ошибка Pyll urllib3 - ImportError: невозможно импортировать имя UnrewindableBodyError - PullRequest
0 голосов
/ 08 октября 2018

Я установил свой cronjob для вызова моего скрипта в определенное время ( ex- 2 4 5 10 * python3 mayank / exp / test.py ).Когда вызывается мой test.py , я активирую virtualenv в своем скрипте test.py следующим образом.

activate = "/home/myserver/schedule_py3/bin/activate_this.py"
exec(open(activate).read())

После активации виртуальной среды (в которой есть python3 ипакеты, необходимые для запуска скрипта), я пытаюсь импортировать запросы он показывает мне ошибку как: -

Файл "schedule_module / Schedule / messages_task.py", строка2, в файле запросов на импорт "/usr/lib/python2.7/site-packages/requests/init.py", строка 43, в файле импорта urllib3 "/usr/lib/python2.7/site-packages / urllib3 / init .py ", строка 10, из импорта .connectionpool (Файл" /usr/lib/python2.7/site-packages/urllib3/connectionpool.py ", строка 31, из импорта .connection (файл "/usr/lib/python2.7/site-packages/urllib3/connection.py", строка 45, из импорта .util.ssl_ (файл "/usr/lib/python2.7/site-packages/urllib3/util/init.py ", строка 4, из файла .request import make_headers File" /usr/lib/python2.7/site-packages/urllib3/util/request.ру»,строка 5, из ..exceptions import UnrewindableBodyError ImportError: невозможно импортировать имя UnrewindableBodyError

Как я вижу, он принимает python2.7.Может кто-нибудь сказать мне, где я не прав?

Примечание - Я установил все пакеты, используя pip3, в моей виртуальной среде.

Ответы [ 3 ]

0 голосов
/ 08 октября 2018

Потому что вы используете системный python вместо virtualenv'ed.Сначала используйте активировать, затем python из папки env.

2 4 5 10 * source /home/myserver/schedule_py3/bin/activate_this.py && python something_else.py
0 голосов
/ 22 августа 2019

исключений import UnrewindableBodyError ImportError: невозможно импортировать имя UnrewindableBodyError

Возможно, указанная выше ошибка связана с разрывом пакета " urllib3 ".удаление / установка решит проблему:

sudo pip uninstall urllib3
sudo pip install --upgrade urllib3

Другая проблема может заключаться в том, что urllib3 был установлен через pip , а запросов установленчерез ням репо или наоборот.В этом случае исправление состоит в том, чтобы полностью удалить эти библиотеки и установить их через тот же репозиторий.

Я рекомендую установить pip over yum, чтобы установить оба пакета, поскольку он прост в обслуживании и обеспечивает больший контроль.Любые дальнейшие обновления, необходимые для исправлений ОС или операций по обслуживанию ВМ и т. Д., Не влияют на пакеты, установленные через pip.

Сначала удалите все установки « urllib3 » и «».запросы ”через pip и yum:

sudo pip uninstall urllib3 -y
sudo pip uninstall requests -y
sudo yum remove python-urllib3 -y
sudo yum remove python-requests -y

Теперь установите оба пакета только через pip:

sudo pip install --upgrade urllib3
sudo pip install --upgrade requests

Чтобы установить оба пакета только через yum:

sudo yum install python-urllib3
sudo yum install python-requests
0 голосов
/ 08 октября 2018

Возможно, вы захотите взглянуть на свой метод активации виртуальной среды.

Хороший пример можно найти здесь

примером этого будет:

ex- 2 4 5 10 * /home/myserver/schedule_py3/<PATH TO VIRTUALENV PYTHON> <FULL PATH TO SCRIPT>mayank/exp/test.py
...