Python Heroku TypeError:parse_requirements()缺少1个必需的关键字参数:';会议';

Python Heroku TypeError:parse_requirements()缺少1个必需的关键字参数:';会议';,python,heroku,pip,Python,Heroku,Pip,我正在尝试从Heroku上的cedar向cedar-14堆栈添加一个应用程序。在我的requirements.txt文件中,我有: .... robobrowser==0.5.1 .... 当我试图通过将项目推送到heroku进行部署时,我得到: Collecting robobrowser==0.5.1 (from -r requirements.txt (line 17)) Downloading robobrowser-0.5.1.tar.gz Traceback

我正在尝试从Heroku上的cedar向cedar-14堆栈添加一个应用程序。在我的requirements.txt文件中,我有:

....
robobrowser==0.5.1
....
当我试图通过将项目推送到heroku进行部署时,我得到:

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
收集机器人浏览器==0.5.1(来自-r requirements.txt(第17行))
下载robobrowser-0.5.1.tar.gz
回溯(最近一次呼叫最后一次):
文件“”,第20行,在
文件“/tmp/pip-build-PqCF2A/robobrowser/setup.py”,第38行,中
对于parse_需求中的需求(“requirements.txt”)
文件“/app/.heroku/python/lib/python2.7/site packages/pip-6.0.6-py2.7.egg/pip/req/req_File.py”,第19行,解析_需求
“parse_requirements()缺少1个必需的关键字参数:”
TypeError:parse_requirements()缺少1个必需的关键字参数:“会话”
从命令python setup.py egg_info完成输出:
回溯(最近一次呼叫最后一次):
文件“”,第20行,在
文件“/tmp/pip-build-PqCF2A/robobrowser/setup.py”,第38行,中
对于parse_需求中的需求(“requirements.txt”)
文件“/app/.heroku/python/lib/python2.7/site packages/pip-6.0.6-py2.7.egg/pip/req/req_File.py”,第19行,解析_需求
“parse_requirements()缺少1个必需的关键字参数:”
TypeError:parse_requirements()缺少1个必需的关键字参数:“会话”
----------------------------------------
命令“python setup.py egg_info”在/tmp/pip-build-PqCF2A/robobrowser中失败,错误代码为1

如何解决此问题?

robobrowser的github问题跟踪器中有一个未决问题和拉取请求:

等待合并,或从fork安装
robobrowser

$ pip install git+https://github.com/xxinfinityxx/robobrowser

降级
pip
也可能是一种选择,但我不确定您是否可以控制在heroku上使用哪个pip版本。

尝试更新pip:

sudo pip install --upgrade pip

这为我解决了这个问题。

我在为Python安装wabbit_wappa时遇到了这个问题。我通过将setup.py中的一行从以下位置更改来“修复”它:

install_reqs = parse_requirements('requirements.txt')


它安装得很好。

我有最新版本的pip,这为我做到了:

install_requirements = parse_requirements('requirements.txt', session=pip.download.PipSession())

谢谢你,alecxe,但是我如何将分叉版本导入heroku?我认为这必须由requirements.txt完成。@user61629是的,您可以添加
git+git://github.com/xxinfinityxx/robobrowser
line到您的需求列表中。相关:代码中的另一个权宜之计,我不知道是什么:)让底层系统停止抱怨我猜什么都没有。
install_requirements = parse_requirements('requirements.txt', session=pip.download.PipSession())