无法在heroku

时间:2015-11-05 08:33:27

标签: python heroku urllib urllib3

尽管有很多pip冻结和尝试,但我似乎无法在heroku上获得与我的开发环境相同的urllib版本。我的要求是最新的,代码在我的开发机器上运行良好,但我无法通过生产环境中的错误,必须归结为urllib的版本。

from urlparse import quote_plus
2015-11-05T08:24:38.133387+00:00 app[web.1]: ImportError: cannot import name quote_plus

尽管我尝试了以下导入:

try:
    from urllib.parse import quote_plus
except ImportError:
    from urlparse import quote_plus

和我的requirements.txt

blinker==1.4
bson==0.4.1
Flask==0.10.1
Flask-Mail==0.9.1
flask-mongoengine==0.7.1
Flask-PyMongo==0.3.1
Flask-Sendmail==0.1
Flask-WTF==0.12
gunicorn==19.3.0
itsdangerous==0.24
Jinja2==2.8
MarkupSafe==0.23
mongoengine==0.10.0
pymongo==2.9
pytz==2015.7
requests==2.8.1
six==1.10.0
urllib3==1.12
Wand==0.4.1
Werkzeug==0.10.4
WTForms==2.0.2

1 个答案:

答案 0 :(得分:2)

这与urllib3无关。您尝试导入的功能是标准库的一部分。

然而,它在Python 2和3中处于不同的位置,这是你的try / except应该处理的。但是你有错误的Python 2位置:它位于urllib,而不是urlparse

但是,您应该尝试在两种环境中运行相同版本的Python。确保通过在runtime.txt文件中指定它来告诉Heroku使用Python 3。