2017-08-25 2 views
0

私はMac OS上でGoogle Cloud Platform用に開発中です。 私はvitualenv - virtualenv xyzを作成しました。 私が使用して活性化 - ソースXYZ/binに/が はその後、私は私が必要なPKGインストールアクティブ - 私はpip listを行うとpip install python-dateutil 、私はpython-dateutilが あり参照しかしんが、私はdev_appserver.py .を使用して、私のサービスを実行してポストを作成しようとすると、要求。私のappengine_config.pyでは、私はvendor.add('lib')を持っていますが、パッケージがmy_project-> xyz -> lib -> python2.7 -> site-packages -> dateutil下にインストールされている:私はImportError: No module named dateutil.parserpython virtualenvいいえモジュールエラーなし

質問を取得します。私のアプリはパッケージを探す場所をどのように知っていますか?

第2の質問:本番環境に展開する準備ができたら、パッケージをどのように展開するのですか。 pip freeze > requirements.txt。プロダクトサーバがどのパッケージを使用するかを知るのに十分です。 my_projectの下にlibフォルダが必要ですか?パッケージがvirtualenvとproductionでどのように参照されるのか混乱しています。

答えて

0

standard environmentの依存関係をインストールする手順は、flexible environmentのものと混在させています。関連:How to tell if a Google App Engine documentation page applies to the standard or the flexible environment

あなたはdev_appserver.pyを使っているので、私はないシステム/ venv上で、あなたのアプリがアプリにライブラリをインストールする必要があり、その場合には、標準的な環境1、(-t lib引数に注意してください)であると仮定します。

+0

標準的な環境を使用している場合、新しいプロジェクトを開始するたびに、パッケージがインストールされていない環境を新しくするにはどうすればよいですか。基本的にvirtualenvと同じこと。 –

+0

申し訳ありませんが、私はあなたの質問を得るか分からない。 stdenvでは、常にサンドボックスで提供されているパッケージ(SDKによってローカルシステム上)から始めます。余分なものはあなたのアプリに追加する必要があります。 –

+0

私の開発環境では、私はプロジェクト1で働いていると言うと 'pip python-dateutil'をインストールしました。私はこれが私のグローバルなenvにインストールされることを推測しています。そして私はプロジェクト2(まだ私の開発者)に切り替えて、グローバルパッケージにアクセスしますが、プロジェクト2でpython-dateutilを参照したくありません。プロジェクトごとにpythonパッケージを別々に保存するにはどうすればいいですか? –

関連する問題