2017-03-10 19 views
0

ノードを実行しているHerokuアプリがありますが、このサーバーでPythonスクリプトを実行できる必要があります。私はPythonの依存関係をインストールしようとしていますが、動作させることはできません。herokuノードサーバーにpython依存関係を追加するにはどうすればいいですか?

私はプロジェクトにノードビルドパックを追加しましたが、仮想環境を作成し、requirements.txtを正常にインストールしましたが、モジュールが見つかりませんでした。

PythonパッケージをHerokuノードサーバーに正しくインストールするにはどうすればよいですか?

Herokuのは、私が正しく両方buildpacksが設定されていることを示しています。それは、要件を言う

$ pip install -r requirements.txt 

を:

heroku buildpacks --app <my app> 

出力:

1. heroku/nodejs 
2. heroku/python 

を私はrequirements.txtをインストールしようすでに満足している。私はこれが私の地域の環境を参考にしていると推測しています。

Requirement already satisfied (use --upgrade to upgrade): requests==2.7.0 in /Library/Python/2.7/site-packages (from -r requirements.txt (line 1)) 
Requirement already satisfied (use --upgrade to upgrade): beautifulsoup4==4.5.3 in /Library/Python/2.7/site-packages (from -r requirements.txt (line 2)) 

しかし、私は私のPythonスクリプトを実行しようとした場合、私はモジュールのエラーを取得していない:

Traceback (most recent call last): File "Webcrawler.py", line 3, in from urllib.request import urlopen ImportError: No module named request

+0

この解決策を試しましたか? - http://stackoverflow.com/questions/36167012/node-app-with-python-module-in-project-on-heroku-not-installing? – hashcode55

+0

@ hashcode55はい、私はそれを試みましたが、それは実行中の古い答えであると信じています.buildpacksファイルを生成しません。私は手動で作成しようとしましたが、うまくいきませんでした。 – 123

+0

@ 123 Herokuからビルドログを表示できますか? –

答えて

0

はおそらく、複数のbuildpacksを使用する必要があります。参照:

をHerokuのデベロッパーセンターで。

+0

これはまさに私がやったことです。私が質問したところでは、プロジェクトに適切なビルドパックを追加しましたが、virtualenvを使用しない限り、ピップはローカルマシンにインストールしようとします。私は正常にvirtualenvを使用して依存関係をインストールすることができますが、それは何らかの理由でモジュールのエラーを解決しません。 – 123

0

私はそれを解決してきました:

1 - 私が作成した(私の場合はindex.js、)直接エントリポイントのルートに「requirements.txt」ファイルは(存在しない場合)

2 - 私は手動でexatlyこのようなファイルへの特定のバージョン...とライブラリを追加している:

要求== 2.7.0 beautifulsoup4の== 4.5.3

3 - ファイルを保存しました

4 - 私はちょうど1行とで(存在しない場合)は、ファイル "runtime.txt" を作成しました:私の場合には

のpython-2.7.14

5で、私が必要とするPythonのバージョン

Herokuののbuildpacks:設定Herokuの/ pythonの Herokuのbuildpacks:追加--index 1 Herokuの/ nodejs

- 私は2つのコマンドでmultibuildpacksを作成 - ファイル

5を保存6 - 最後に、私はgitコマンドを続けました:

git status git add。 gitのcommint -m "要件" GitのプッシュHerokuのマスター

FINISH

それは私はあなたのために同じことを願っています私のため

を働きました!

関連する問題