Heroku push fails repeatedly, appears to fail on installing Bonjour


问题内容

I’m attempting to follow Heroku’s python quickstart guide but am running into
repeated problems. At the moment, “git push heroku master” is failing because
it cannot install Bonjour. Does anyone know if this is a truly necessary
requirement, and whether I can change the version required, or somehow
otherwise fix this? Full text of push follows below.

(venv)172-26-12-64:helloflask Spike$ git push heroku master
Counting objects: 488, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (444/444), done.
Writing objects: 100% (488/488), 1.43 MiB, done.
Total 488 (delta 33), reused 0 (delta 0)

-----> Heroku receiving push
-----> Python app detected
-----> Preparing virtualenv version 1.7
   New python executable in ./bin/python
   Installing distribute.............................................................................................................................................................................................done.
   Installing pip...............done.
  -----> Activating virtualenv
  -----> Installing dependencies using pip version 1.0.2
   Downloading/unpacking Flask==0.8 (from -r requirements.txt (line 1))
   Creating supposed download cache at /app/tmp/repo.git/.cache/pip_downloads
     Storing download in cache at /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FF%2FFlask%2FFlask-0.8.tar.gz
     Running setup.py egg_info for package Flask

       warning: no files found matching '*' under directory 'tests'
       warning: no previously-included files matching '*.pyc' found under directory 'docs'
       warning: no previously-included files matching '*.pyo' found under directory 'docs'
       warning: no previously-included files matching '*.pyc' found under directory 'tests'
       warning: no previously-included files matching '*.pyo' found under directory 'tests'
       warning: no previously-included files matching '*.pyc' found under directory 'examples'
       warning: no previously-included files matching '*.pyo' found under directory 'examples'
       no previously-included directories found matching 'docs/_build'
       no previously-included directories found matching 'docs/_themes/.git'
   Downloading/unpacking IMAPClient==0.8 (from -r requirements.txt (line 2))
     Storing download in cache at /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Ffreshfoo.com%2Fprojects%2FIMAPClient%2FIMAPClient-0.8.zip
     Running setup.py egg_info for package IMAPClient

       no previously-included directories found matching 'doc/doctrees/'
   Downloading/unpacking Jinja2==2.6 (from -r requirements.txt (line 3))
     Storing download in cache at /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FJ%2FJinja2%2FJinja2-2.6.tar.gz
     Running setup.py egg_info for package Jinja2

       warning: no previously-included files matching '*' found under directory 'docs/_build'
       warning: no previously-included files matching '*.pyc' found under directory 'jinja2'
       warning: no previously-included files matching '*.pyc' found under directory 'docs'
       warning: no previously-included files matching '*.pyo' found under directory 'jinja2'
       warning: no previously-included files matching '*.pyo' found under directory 'docs'
   Downloading/unpacking PIL==1.1.7 (from -r requirements.txt (line 4))
     Storing download in cache at /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Feffbot.org%2Fmedia%2Fdownloads%2FPIL-1.1.7.tar.gz
     Running setup.py egg_info for package PIL
       WARNING: '' not a valid package name; please use only.-separated package names in setup.py

   Downloading/unpacking PyRSS2Gen==1.0.0 (from -r requirements.txt (line 5))
     Downloading PyRSS2Gen-1.0.0.tar.gz
     Storing download in cache at /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FP%2FPyRSS2Gen%2FPyRSS2Gen-1.0.0.tar.gz
     Running setup.py egg_info for package PyRSS2Gen

   Downloading/unpacking PyYAML==3.10 (from -r requirements.txt (line 6))
     Storing download in cache at /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FP%2FPyYAML%2FPyYAML-3.10.tar.gz
     Running setup.py egg_info for package PyYAML

   Downloading/unpacking Twisted==11.0.0 (from -r requirements.txt (line 7))
     Storing download in cache at /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FT%2FTwisted%2FTwisted-11.0.0.tar.bz2
     Running setup.py egg_info for package Twisted

   Downloading/unpacking WebOb==1.1.1 (from -r requirements.txt (line 8))
     Storing download in cache at /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FW%2FWebOb%2FWebOb-1.1.1.zip
     Running setup.py egg_info for package WebOb

       no previously-included directories found matching '*.pyc'
       no previously-included directories found matching '*.pyo'
   Downloading/unpacking Werkzeug==0.8.3 (from -r requirements.txt (line 9))
     Storing download in cache at /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FW%2FWerkzeug%2FWerkzeug-0.8.3.tar.gz
     Running setup.py egg_info for package Werkzeug

       warning: no files found matching '*' under directory 'werkzeug/debug/templates'
       warning: no files found matching '*' under directory 'tests'
       warning: no previously-included files matching '*.pyc' found under directory 'docs'
       warning: no previously-included files matching '*.pyo' found under directory 'docs'
       warning: no previously-included files matching '*.pyc' found under directory 'tests'
       warning: no previously-included files matching '*.pyo' found under directory 'tests'
       warning: no previously-included files matching '*.pyc' found under directory 'examples'
       warning: no previously-included files matching '*.pyo' found under directory 'examples'
       no previously-included directories found matching 'docs/_build'
   Downloading/unpacking altgraph==0.7.2 (from -r requirements.txt (line 10))
     Downloading altgraph-0.7.2.tar.gz
     Storing download in cache at /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fa%2Faltgraph%2Faltgraph-0.7.2.tar.gz
     Running setup.py egg_info for package altgraph

       warning: no files found matching '*.txt'
       warning: no previously-included files matching '.DS_Store' found anywhere in distribution
       warning: no previously-included files matching '*.pyc' found anywhere in distribution
       warning: no previously-included files matching '*.so' found anywhere in distribution
   Downloading/unpacking apipkg==1.0 (from -r requirements.txt (line 11))
     Downloading apipkg-1.0.tar.gz
     Storing download in cache at /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fa%2Fapipkg%2Fapipkg-1.0.tar.gz
     Running setup.py egg_info for package apipkg

       no previously-included directories found matching '.svn'
       no previously-included directories found matching '.hg'
   Downloading/unpacking bdist-mpkg==0.4.4 (from -r requirements.txt (line 12))
     Downloading bdist_mpkg-0.4.4.tar.gz
     Storing download in cache at /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fa.pypi.python.org%2Fpackages%2Fsource%2Fb%2Fbdist_mpkg%2Fbdist_mpkg-0.4.4.tar.gz
     Running setup.py egg_info for package bdist-mpkg

   Downloading/unpacking beautifulsoup4==4.0.1 (from -r requirements.txt (line 13))
     Storing download in cache at /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fb%2Fbeautifulsoup4%2Fbeautifulsoup4-4.0.1.tar.gz
     Running setup.py egg_info for package beautifulsoup4

   Downloading/unpacking bonjour-py==0.3 (from -r requirements.txt (line 14))
     Could not find any downloads that satisfy the requirement bonjour-py==0.3 (from -r requirements.txt (line 14))
   No distributions at all found for bonjour-py==0.3 (from -r requirements.txt (line 14))
   Storing complete log in /app/.pip/pip.log
!     Heroku push rejected, failed to compile Python app

  To git@heroku.com:radiant-night-5176.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:radiant-night-5176.git'

问题答案:

Are you trying to push the example app from the quickstart? Many of the
requirements you’re trying to install aren’t required at all.

I suspect that you created your requirements file outside of the recommended
virtualenv, and that twisted and bonjour-py are packages install in your
system python installation.