1

Elastic Beanstalk経由でPyramidアプリケーションをインストールした経験がありますか?私のアプリケーションはデプロイされますが、アプリケーションのapplication.py(またはpyramid.wsgi)ファイルが正しく動作するように設定することはできません。 get_appの中で次のエラーが発生します。Elastic BeanstalkにPyramidアプリケーションを展開する

MyApp
File "/opt/python/run/venv/lib/python2.7/site-packages/pkg_resources/__init__.py", line 829, in resolve 
[Sun Jul 17 21:24:15.482379 2016] [:error] [pid 736] [remote 127.0.0.1:9522]  raise DistributionNotFound(req, requirers) 
[Sun Jul 17 21:24:15.482427 2016] [:error] [pid 736] [remote 127.0.0.1:9522] DistributionNotFound: The 'MyApp' distribution was not found and is required by the application 

は、私が実行しようとしていますアプリケーションです。

は、ここに私のapplication.pyです:そのが/opt/python/run/venv/lib/python2.7/site-packages/はなく/opt/current/python/app/MyAppを探しているため、エラーが発生しているかのように

from pyramid.paster import get_app, setup_logging 
import os, site, sys 
ini_path = os.path.join(os.path.dirname(__file__), 'production.ini') 
setup_logging(ini_path) 
application = get_app(ini_path, 'main') 

に思えます。私は何が欠けていますか?パスに何かを追加する必要がありますか?

答えて

1

"pylons-discuss" Googleグループフォーラムの友人のおかげで、今私は解決策を得ています。

setup.py developコマンドを実行する環境にconfigコマンドを追加する必要があります。これを行うには、次のようにあなたの.ebextensionsにフォルダの名前packages.config(または使用あなたが好きな命名規則を)ファイルを追加する必要があります。

container_commands: 
    01_setup: 
    command: "/opt/python/run/venv/bin/python setup.py develop" 
また

、することができます(そしておそらく必要があります)の実行を:

container_commands: 
    01_setup: 
    command: "/opt/python/run/venv/bin/pip install -e ." 

(。私は確かに、誰かがこれを確認したいと思いますが)

次に、eb deployコマンドを実行します。 Elastic Beanstalkはあなたのパッケージがインストールされていることを認識するはずです。乾杯!

前の二つのソリューションの違いを理解するには、以下を参照してください。

Python setup.py develop vs install

関連する問題