10

virtualenvプロジェクトをからに移動しようとしbuildoutていますが、の概念全体を理解できていないと思いますbuildout。私が見つけたすべてのチュートリアルは、私が使用していないため、続行する方法がわからない、buildoutで使用するというコンテキストで説明しています。Zope

私のファイル構造virtualenvは次のとおりです。

myapp/
  app.py

これはを使用して実行され/path/to/venvs/myapp/bin/python /path/to/myapp/script.pyます。

を使用buildoutすると、ファイル構造は次のようになります。

myapp/
  app.py
  bootstrap.py
  buildout.cfg

実行python bootstrap.pybin/buildoutて、これらの追加ファイルを取得します。

myapp/
  bin/
    buildout
  eggs/
    setuptools-0.6c12dev_r80622-py2.6.egg
    tornado-1.0.1-py2.6.egg
  parts/

この時点で、アプリを「実行」する方法がわかりません。

助言?

4

3 に答える 3

3

Buildoutvirtualenvは、実際には接線方向に関連しています。Buildoutは、実際には、制約され制御された方法でソフトウェアをデプロイすることであり、virtualenvは、Pythonソフトウェアが実行される環境をカプセル化することです。Buildoutは、virtualenvがそれ自体の中で行うことを提供し、それをもう少しラップします。

ビルドアウトは、コードを取得して実行できるようにリモートシステムに配置する方法のレシピセットと考えてください。そのプロセスの一部は、クリーンなサンドボックス(virtualenvも提供できるもの)を作成することから始まり、必要に応じてライブラリ、ピース、およびパーツを追加します。

私はビルドアウトの専門家ではありませんが、Pythonのメインコードがディレクトリ構造の「bin」の下に表示され、そこから何らかの形で呼び出されることを期待しています。

于 2010-08-22T02:16:14.773 に答える
3

次のレシピでは、竜巻を卵としてインストールし、竜巻の卵を見つけるための正しい検索パスを使用して、binディレクトリにpythonおよびmyappスクリプトを作成します。

[buildout] 
parts = python 
eggs = tornado 
extra-paths = ${buildout:directory}

[python] 
recipe = zc.recipe.egg 
interpreter = python 
eggs = ${buildout:eggs} 
entry-points = myapp=app:main 
extra-paths = ${buildout:extra-paths}
于 2010-08-22T14:44:10.283 に答える
0

私たちのプロジェクトでは、Zopeも使用していません。zc.buildout時間をかけて、標準のPythonパッケージツールを使用してコードを整理(およびPyPIを介して配布)する方法について、学生向けの紹介を作成しました。このスレッドを読む人にはおそらく役立つでしょう:http ://www.idiap.ch/software/bob/docs/releases/v1.2.2/sphinx/html/OrganizeYourCode.html

于 2013-07-04T09:45:49.593 に答える