2017-05-17 11 views
11

を私はHerokuのにDjangoプロジェクトをプッシュしようとしていますが、それは、次のことを私に言って続けて:失敗はHerokuのにプッシュする:/app/.heroku/python/bin/pip:Noそのようなファイルやディレクトリは

/app/.heroku/python/bin/pip: No such file or directory 

完全なエラーメッセージを以下に示します。どうすればこの問題に対処できますか?私は最初にヘロクにpipをインストールする必要がありますか?

Counting objects: 451, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (383/383), done. 
Writing objects: 100% (451/451), 1.07 MiB | 349.00 KiB/s, done. 
Total 451 (delta 87), reused 0 (delta 0) 
remote: Compressing source files... done. 
remote: Building source: 
remote: 
remote: -----> Python app detected 
remote: -----> Installing python-3.5.1 
remote: -----> Installing pip 
remote: -----> Installing requirements with pip 
remote:  /app/tmp/buildpacks/779a8bbfbbe7e1b715476c0b23fc63a2103b3e4131eda558669aba8fb5e6e05682419376144189b29beb5dee6d7626b4d3385edb0954bffea6c67d8cf622fd51 
/bin/steps/pip-install: line 5: /app/.heroku/python/bin/pip: No such file or directory 
remote: !  Push rejected, failed to compile Python app. 
remote: 
remote: !  Push failed 
remote: Verifying deploy... 
remote: 
remote: ! Push rejected to rocky-tor-70537. 
remote: 
To https://git.heroku.com/rocky-tor-70537.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to 'https://git.heroku.com/rocky-tor-70537.git' 

私のrequirements.txtファイルは、次のように空です。

# this is for Heroku and other servers. 
# Locally, you should install requirements_base.txt 
-r requirements_server.txt 

次のように私のrequirements_server.txtは次のように

-r requirements_base.txt 
# packages that are unnecessary on Windows/Mac local dev environments, or don't install properly 
psycopg2>=2.5.1 

私requirements_base.txtは次のとおりです。

appdirs==1.4.3 
asgi-redis==0.14.1 
asgiref==0.14.0 
autobahn==0.16.0 
Babel==2.3.4 
boto==2.42.0 
channels==0.17.3 
colorama==0.3.7 
contextlib2==0.5.4 
coverage==4.2 
daphne==0.14.3 
dj-database-url==0.4.1 
Django==1.8.8 
django-countries==4.0 
django-easymoney==0.7.1 
django-floppyforms==1.7.0 
django-idmap==0.4.1 
django-vanilla-views==1.0.4 
djangorestframework==3.4.6 
honcho==0.7.1 
huey==1.2.0 
IPy==0.83 
mock==2.0.0 
msgpack-python==0.4.8 
otree-core==1.2.8 
otree-save-the-change==1.1.3 
packaging==16.8 
pbr==1.10.0 
py==1.4.31 
pyparsing==2.2.0 
pytest==2.9.2 
pytest-django==3.0.0 
python-redis-lock==3.2.0 
pytz==2016.6.1 
raven==5.25.0 
redis==2.10.5 
requests==2.11.1 
schema==0.6.2 
six==1.10.0 
Twisted==16.2.0 
txaio==2.5.1 
unicodecsv==0.14.1 
whitenoise==3.2.1 
ws4py==0.3.5 
XlsxWriter==0.9.3 
zope.interface==4.2.0 

答えて

0

デフォルトのHerokuののbuildpackを使用している場合は、私がいることを推測しますプロジェクトフォルダのrequirements.txtファイルが見つかりません。

+0

私はrequirements.txtを持っています。 – user3821012

+0

カスタムビルドパックを使用していますか?あなたは 'heroku config:unset BUILDPACK_URL'を試して、あなたのコードをもう一度押してみることができます –

+0

ビルパックをチェックするには?上記のコマンドを使用しても、同じエラーメッセージが表示されます。 – user3821012

13

最近この問題に遭遇し、runtime.txtのpythonバージョンを変更することで調整できました。

python-3.5.2 

に変更しかし、あなたが列挙されている要件をオフに基づいて、あなたはrequirements_base.txtになったことがないされているように、それはそうです。あなたのrequirements_server.txtファイルで

、なるように変更します。

-r requirements_base.txt 

がそこにリストされています。

+0

何らかの理由で、私のためには機能しません。それでも同じエラーメッセージが表示されます。 Pythonの他のバージョン(3.6.1と3.5.2を試してみました)にruntime.txtを変更しても、なぜpython-3.5.1をインストールしようとしているのかわかりません。使用されているPythonのバージョンを指定する他の場所はありますか? – user3821012

+0

requirements.txtファイルを投稿できますか? –

+0

requirements.txtファイルの問題を反映するように編集されたコメント –

0

私はそれが魅力のように働いた

wget https://cli-assets.heroku.com/branches/stable/heroku-REPLACE_ME_OS-REPLACE_ME_ARCH.tar.gz -O heroku.tar.gz 

mkdir -p /usr/local/lib 

tar -xvzf heroku.tar.gz -C /usr/local/lib 

/usr/local/lib/heroku/install 

を使用して、Ubuntuの16.04で、手動でHerokuのCLIをインストールした後に同じ問題を抱えていました。

フォルダには4つのファイルがあります。 1つはPythonスクリプトで、2番目はprocfile(拡張子なし)で内容はweb: gunicorn skripta1:appです。第三には、とrequirements.txtさ:

appdirs==1.4.3 
bokeh==0.12.5 
click==6.7 
Flask==0.12.2 
gunicorn==19.7.1 
itsdangerous==0.24 
Jinja2==2.9.6 
MarkupSafe==1.0 
numpy==1.12.1 
packaging==16.8 
pandas==0.20.1 
pandas-datareader==0.4.0 
pyparsing==2.2.0 
python-dateutil==2.6.0 
pytz==2017.2 
PyYAML==3.12 
requests==2.14.2 
requests-file==1.4.2 
requests-ftp==0.3.1 
six==1.10.0 
tornado==4.5.1 
Werkzeug==0.12.2 

そして第四は、Herokuのドキュメントによるとpython-3.5.2

0

でruntime.txtされ、2つのしか公式にサポートされているPythonのランタイムは2.7.13、および3.6.1です。 最近私はherokuのoTreeデプロイメントで同じ問題を抱えていましたが、変更したらすぐにruntime.txtpython-3.6.1にスムーズに移行しました。

5

私は単に私のruntime.txt

に2つのタイプミスが、それはpython-3.6.1なくPython-3.6.1またはpython 3.6.1

エラーメッセージがかなり悪いと言うことを確認しました。この投稿が誰かを30分節約できるようにしてください。

+1

ありがとう! 'python 2.7.13'が必要でしたが、' python-2.7.13'が必要でした。あなたが 'pip'を使用しようとするまで' - 'を紛失していると正常に続行します。 – frmdstryr

0

ああ親愛なる - (というか私の次の完全に異なるエラーへの)私はこの同じ問題に遭遇した

0

私がしようと行番号を変更するために、私のrequirements/production.txtに空白行を削除し、すべてが仕事を始めましたPythonアプリケーションをHerokuにデプロイしようとしているWindows。それはファイルのエンコードに問題があったことが分かります。 Procfileの作成方法によっては、requirements.txtとruntime.txtのエンコーディングが異なる場合があります。

Windowsを実行していると仮定すると、PowerShellを使用します。以下のPowerShell Functionを入手し、PowerShellコンソールに貼り付けます。これを使用して、あなたのファイルエンコーディングを確認することができます: get-fileencoding requirements.txt それはおそらく問題のascii以外のものが戻ってくる場合。私の場合、私の3つのファイルはすべてユニコードでした。私はちょうどASCIIにそれらを強制するためにこれを行いました: 'python-3.6.1' | out-file -en ascii runtime.txt また、エディタを使用し、ASCIIエンコーディングを使用してファイルを保存することができます。

この変更をProcfileのrequirements.txtとruntime.txtに行ったら、私は正常にHerokuに展開できました。

0

私はHerokuのにアプリエンジンから切り替えて、次の内容のルートディレクトリにのsetup.cfgファイルを持っていました:

[install] 
prefix= 

それが展開しながら、この問題を引き起こしました。すべてを取り除いた後、うまくいった。

関連する問題