2013-02-23 5 views
7

上のPythonパッケージを削除して、得たこの:手動Herokuの私は<code>heroku push master</code>を実行していた

----- Python app detected 
----- No runtime.txt provided; assuming python-2.7.3. 
----- Using Python runtime (python-2.7.3) 
----- Installing dependencies using Pip (1.2.1) 
     Downloading/unpacking Django-1.5c2 from https://www.djangoproject.com/download/1.5c2/tarball (from -r 
                              requirements.txt (line 1)) 
      Cannot determine compression type for file /tmp/pip-rYIGHS-unpack/tarball.ksh 
      Running setup.py egg_info for package Django-1.5c2 

     Installing collected packages: Django-1.5c2 
      Running setup.py install for Django-1.5c2 
      changing mode of build/scripts-2.7/django-admin.py from 600 to 755 

      changing mode of /app/.heroku/python/bin/django-admin.py to 755 


      ======== 
      WARNING! 
      ======== 

      You have just installed Django over top of an existing 
      installation, without removing it first. Because of this, 
      your install may now include extraneous files from a 
      previous version that have since been removed from 
      Django. This is known to cause a variety of problems. You 
      should manually remove the 

      /app/.heroku/python/lib/python2.7/site-packages/django 

      directory and re-install Django. 

     Successfully installed Django-1.5c2 

どのように私は、以前のDjangoパッケージを削除することができますか?

UPDATE: マイrequirements.txt:太字の固定上記の警告で

https://www.djangoproject.com/download/1.5c2/tarball/**#egg=django** 
South==0.7.6 
argparse==1.2.1 
distribute==0.6.24 
dj-database-url==0.2.1 
psycopg2==2.4.6 
wsgiref==0.1.2 
PIL==1.1.7 

テキスト。

UPDATE 2: Djangoの1.5が正式にリリースされたので、私はちょうど使用ピップフリーズ:

Django==1.5 
South==0.7.6 
argparse==1.2.1 
distribute==0.6.24 
dj-database-url==0.2.1 
psycopg2==2.4.6 
wsgiref==0.1.2 
PIL==1.1.7 
+0

あなたの 'requirements.txt'にはDjangoがどのように指定されていますか?特定のバージョンを使用するように指示していますか? – culix

+0

上記のアップデートをご覧ください。 – blaze

+0

@metroxylon 'heroku logs -t'の変更をプッシュすると、あなたのdynoの動作を確認してください。要件から 'Django == 1.5 'を削除して、コミットし、herokuにプッシュしてから、djangoを追加してコミットしてください。 – nk9

答えて

14

環境を再構築し、私はHerokuのは、壊れたパッケージをキャッシュし、それらを取得する方法はありません問題がありました。 Pythonビルドパックは、このキャッシュ(CACHE_DIR)をフラッシュするための何らかのサポートが必要ですが、そうではありません。

回避方法があります:these instructionsに従って、Pythonランタイムを3.3.0などに変更します(アプリが実際にPython 3をサポートしているかどうかは関係ありません)。次に、デフォルトに戻します。 Pythonランタイムを変更してデプロイすると、buildpackはキャッシュを完全に消去します。私が知る限り、現時点でキャッシュを消去する唯一の実用的な方法です。

+1

これは私の問題を修正しました。私は手動で 'heroku run pip uninstall my_package'を実行しようとしましたが失敗しませんでしたが、パッケージはまだシステムに残っていて問題が発生しました。ヒントをありがとう! – Micah

+0

これはもう動作しません。 –

+0

うん、今日もまだ動作している。 runtime.txtを変更(または最初に追加)してから再展開すると、Herokuは新しく実行時環境を作成し、以前にインストールされたパッケージをPYPIから同じパッケージの別のバージョンで上書きすることを拒否するなどの従来の問題を効果的に破棄しますgithub urlから。 –

0

プッシュ現在virtenv

git commit -am 'update packages' 

をコミット

pip freeze > requirements.txt 

をファイルにパッケージ化し、ヒロクにプッシュ

git push heroku 

そしてherocuは

Counting objects: 13, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (11/11), done. 
Writing objects: 100% (13/13), 1.26 KiB, done. 
Total 13 (delta 3), reused 0 (delta 0) 
-----> Python app detected 
-----> No runtime.txt provided; assuming python-2.7.3. 
-----> Preparing Python runtime (python-2.7.3) 
-----> Installing Distribute (0.6.34) 
-----> Installing Pip (1.2.1) 
-----> Installing dependencies using Pip (1.2.1) 
Downloading/unpacking Flask==0.9 (from -r requirements.txt (line 1)) 
Running setup.py egg_info for package Flask 
+0

これは私がしたことです(外卵を除く)。私のrequirements.txtで更新されます – blaze

関連する問題