Heroku TypeError: parse_requirements() отсутствует 1 требуемый аргумент ключевого слова: 'session'
Я пытаюсь перенести приложение в стек кедра-14 из кедра на Heroku. В моем файле requirements.txt у меня есть:
....
robobrowser==0.5.1
....
Когда я пытаюсь развернуть, нажав проект на герою, я получаю:
Collecting robobrowser==0.5.1 (from -r requirements.txt (line 17))
Downloading robobrowser-0.5.1.tar.gz
Traceback (most recent call last):
File "<string>", line 20, in <module>
File "/tmp/pip-build-PqCF2A/robobrowser/setup.py", line 38, in <module>
for requirement in parse_requirements('requirements.txt')
File "/app/.heroku/python/lib/python2.7/site-packages/pip-6.0.6-py2.7.egg/pip/req/req_file.py", line 19, in parse_requirements
"parse_requirements() missing 1 required keyword argument: "
TypeError: parse_requirements() missing 1 required keyword argument: 'session'
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 20, in <module>
File "/tmp/pip-build-PqCF2A/robobrowser/setup.py", line 38, in <module>
for requirement in parse_requirements('requirements.txt')
File "/app/.heroku/python/lib/python2.7/site-packages/pip-6.0.6-py2.7.egg/pip/req/req_file.py", line 19, in parse_requirements
"parse_requirements() missing 1 required keyword argument: "
TypeError: parse_requirements() missing 1 required keyword argument: 'session'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-PqCF2A/robobrowser
Как я могу это исправить?
Ответы
Ответ 1
В трекере robobrowser
github issue есть открытая проблема и запрос на перенос:
Подождите, пока он будет слит, или установите robobrowser
из fork:
$ pip install git+https://github.com/xxinfinityxx/robobrowser
Возможно, также будет вариант понижения рейтинга pip
, но я не уверен, что у вас есть контроль над версией, используемой для использования на герою.
Ответ 2
Я столкнулся с этой проблемой при установке wabbit_wappa для Python. Я "исправил" его, изменив строку в setup.py из:
install_reqs = parse_requirements('requirements.txt')
к
install_reqs = parse_requirements('requirements.txt', session=False)
и он установлен просто отлично.
Ответ 3
Попробуйте обновить pip:
sudo pip install --upgrade pip
Это устранило проблему для меня.
Ответ 4
У меня есть текущая новейшая версия pip, и это сделало это для меня:
install_requirements = parse_requirements('requirements.txt', session=pip.download.PipSession())