2017-07-18 94 views
4

关于stackoverflow的第一个问题:D(因为我发现几乎所有的东西)。在heroku上部署python烧瓶应用程序给functools32提供了错误

我尝试部署我的Python应用的Heroku,但出现以下错误:

git push heroku master 
Counting objects: 7036, done. 
Compressing objects: 100% (3933/3933), done. 
Writing objects: 100% (7036/7036), 10.97 MiB | 338.00 KiB/s, done. 
Total 7036 (delta 2020), reused 7021 (delta 2014) 
remote: Compressing source files... done. 
remote: Building source: 
remote: 
remote: -----> Python app detected 
remote: -----> Installing python-3.6.2 
remote: -----> Installing pip 
remote: -----> Installing requirements with pip 
remote:  Collecting aniso8601==1.2.1 (from -r /tmp/build_3d7108e037a9a8803be5100bdc092768/requirements.txt (line 1)) 
remote:   Downloading aniso8601-1.2.1.tar.gz (62kB) 
remote:  Collecting click==6.7 (from -r /tmp/build_3d7108e037a9a8803be5100bdc092768/requirements.txt (line 2)) 
remote:   Downloading click-6.7-py2.py3-none-any.whl (71kB) 
remote:  Collecting cycler==0.10.0 (from -r /tmp/build_3d7108e037a9a8803be5100bdc092768/requirements.txt (line 3)) 
remote:   Downloading cycler-0.10.0-py2.py3-none-any.whl 
remote:  Collecting deap==1.0.2.post2 (from -r 
remote:  Collecting Flask==0.12.2 (from -r /tmp/build_3d7108e037a9a8803be5100bdc092768/requirements.txt (line 5)) 
remote:   Downloading Flask-0.12.2-py2.py3-none-any.whl (83kB) 
remote:  Collecting Flask-RESTful==0.3.6 (from -r /tmp/build_3d7108e037a9a8803be5100bdc092768/requirements.txt (line 6)) 
remote:   Downloading Flask_RESTful-0.3.6-py2.py3-none-any.whl 
remote:  Collecting functools32==3.2.3.post2 (from -r /tmp/build_3d7108e037a9a8803be5100bdc092768/requirements.txt (line 7)) 
remote:   Downloading functools32-3.2.3-2.zip 
remote:   Complete output from command python setup.py egg_info: 
remote:   This backport is for Python 2.7 only. 
remote:    
remote:   ---------------------------------------- 
remote:  Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-l0v0636d/functools32/ 
remote: !  Push rejected, failed to compile Python app. 
remote: 
remote: !  Push failed 
remote: Verifying deploy... 
remote: 
remote: ! Push rejected to XXXXXXX (servername by Heroku). 
remote: 

在我的虚框一切工作正常,如果我做

pip install -r requirements.txt 

我试着不带以下果:

  • 改变functools32版本
  • 个从需求的文字,这让我意识到它删除functools是瓶中装饰:(
+3

上面的回溯说'这个backport仅适用于Python 2.7',但是你使用的python3已经内置了'functools'模块.AFAIK'functools'不是烧瓶依赖项,但你可能已经使用过在您的烧瓶应用程序中的2.7回程,可能是这个问题! – dimmg

+1

'functools32'不是Flask对任何受支持的Python版本的依赖。如果你不直接在'requirements.txt'中包含它,Pip会告诉你依赖关系来自哪里。这种依赖从何而来? – davidism

回答

0

答案的依赖(多亏了注释): 我不知道,我再次使用Python 2.7版(我我是一名初学者)在我的virtualenv。似乎使用functools在某处自动安装了functools32软件包,它将python 3中的functools移植到2. Heroku默认使用python 3,所以这就是为什么functools32可能不可用。

由于this post,我现在安装了一个python 3虚拟环境,移植了我从2到3移植的几件东西,所有东西都像魅力一样。

感谢davidism &昏暗指向我正确的方向。

相关问题