web-dev-qa-db-ja.com

古いPipfile.lock

大規模なDjango=プロジェクトをherokuにデプロイしようとしています。HerokuCLIをインストールし、ログインし、アプリを作成して実行しました。

git Push heroku master

Pipfileとrequirements.txtが既に設定されています。 runtime.txtを追加して、必要なことを指定しますpython 2.7。これはPipfileにもあります。これはherokuにプッシュすることで得られるものです。

$ git Push heroku master
Counting objects: 12159, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4853/4853), done.
Writing objects: 100% (12159/12159), 20.94 MiB | 1.82 MiB/s, done.
Total 12159 (delta 6859), reused 12036 (delta 6751)
remote: Compressing source files... done.
remote: Building source:
remote: 
remote: -----> Python app detected
remote: -----> Installing python-3.6.4
remote: -----> Installing pip
remote: -----> Installing dependencies with Pipenv 11.8.2…
remote:        Your Pipfile.lock (3b2ba9) is out of date. Expected: (83a5b4).
remote:        Aborting deploy.
remote:  !     Push rejected, failed to compile Python app.
remote: 
remote:  !     Push failed
remote: Verifying deploy....
remote: 
remote: !   Push rejected to camp-infinity.
remote: 
To https://git.heroku.com/camp-infinity.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to Push some refs to 'https://git.heroku.com/camp-infinity.git'

何らかの理由でpython 3をインストールしようとし、Pipfile.lockファイルも気に入らない。それを削除して、pipenv installで再生成しようとしたが、そうではなかった。何でも変更します。

16
Jacob Franklin

プロジェクトの作業中に同じ問題を経験し、Herokuにプッシュしているブランチで実行します

pipenv lock

pipfile.lockファイルが更新されます。 :)

23
MNSH

Pipfile.lockを削除し、削除をコミットしました。 Herokuのビルドプロセスでは、Herokuが存在しないという不満がありましたが、正常にデプロイされました...

-----> Python app detected
 !     No 'Pipfile.lock' found! We recommend you commit this into your repository.
-----> Installing pip
-----> Installing dependencies with Pipenv 11.8.2…
       Installing dependencies from Pipfile…
-----> Discovering process types
       Procfile declares types -> worker
-----> Compressing...
       Done: 189.9M
-----> Launching...
       Released v5
2
radiodario

私も同じ問題を抱えていましたが、それはPipfile.lockを指すシンボリックリンクが原因でした。

ローカルMac OS環境でリポジトリを複製した後、何らかの理由で元のリンクが壊れていたため、HerokuにプッシュするとYour Pipfile.lock (3b2ba9) is out of date. Expected: (83a5b4)になりました。

「古い」シンボリックリンクを削除し、ローカルenvから再作成するだけで問題が解決しました。

1
David D.

次のいずれかを提供する必要があります。

  1. Pipfileおよび対応するPipfile.lock

または

  1. requirements.txt(およびオプションでruntime.txt

Pipfileを使用している場合は、git rm requirements.txt runtime.txtそしてgit add Pipfile Pipfile.lockgit commitそしてgit Push herokuへ。

https://devcenter.heroku.com/articles/python-runtimes

1
davejagoda

Pipenvの更新:pip install pipenv --upgradeその後:pipenv lockその後、コミットします

私のためにこれを修正しました

0
xedriq

Heroku CLIを使用して、git Push heroku masterこの正確なエラーが発生したとき、masterではないローカルブランチから:

remote: -----> Python app detected
remote: -----> Installing pip
remote: -----> Installing dependencies with Pipenv 2018.5.18…
remote:        Your Pipfile.lock (38bf21) is out of date. Expected: (e4987e).
remote:        Aborting deploy.
remote:  !     Push rejected, failed to compile Python app.
remote:
remote:  !     Push failed
remote: Verifying deploy...

masterブランチからデプロイすると修正されました。

master以外のローカルブランチをHerokuマスターにプッシュする場合は、git Push heroku branchname:master

0
Mason Morrow