5

Herokuでアプリを起動しましたが、requirements.txtファイルにインストールした依存ライブラリの1つのファイルの1つを変更する必要があります。

私のローカルマシンでは、これはlib>python2.7>site-packagesなどの仮想環境にあります。

これらの依存関係は、Herokuのファイル構造内のどこに保存されますか?libのpythonフォルダーに入ると、site-packagesにライブラリがないようです。

4

2 に答える 2

7

最近(2016年1月現在)、依存関係は次の場所にインストールされているようです。

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

次のコマンドを実行すると、herokuにあるサイトパッケージのコンテンツを確認できます。

$ heroku run ls .heroku/python/lib/python2.7/site-packages/

于 2016-01-05T18:22:43.887 に答える
4

簡単に言うと、サイトパッケージはにあります/app/.heroku/venv/lib/python2.7/site-packages。見回したい場合は、 `heroku run -app [app_name]bash'を使用してリモートシェルを開くことができます。ただし、herokuがそのクリーンをワイプして、別のインスタンスのrequirements.txtを使用して新しく開始しないという保証はないため、パッケージをそのまま編集することはおそらく望ましくありません。代わりに、パッケージをカスタマイズする必要がある場合は、プロジェクトのコードの独自のフォークを作成してから、requirements.txtでカスタマイズしたフォークを指定することをお勧めします。

たとえば、django-crowdsourcing自分のサイトの1つに使用していますが、コードをカスタマイズする必要がありました。そこで、Googleコードで独自のフォークを作成し、requirements.txtの次のエントリを使用してこのカスタムフォークを指定しました。

-e hg + https://evangrim@code.google.com/r/evangrim-django-crowdsourcing/@b824d8f377b5bc2706d9755650e3f35061f3e309#egg=django_crowdsourcing-dev

これにより、pipはフォークのコピーをチェックアウトし、それを使用してパッケージをアプリのherokuのvirtualenvにインストールするように指示されます。この方法で行うことは、herokuが使用することを期待しているpipインストールフレームワーク内で機能するため、はるかに堅牢です。

于 2012-05-20T02:02:04.940 に答える