簡體   English   中英

如何從virtualenv遷移到擴展?

[英]How to migrate from virtualenv to buildout?

我試圖將項目從移動virtualenvbuildout ,但我不認為我已經掌握了整個概念buildout 我發現的所有教程都在與Zope結合使用時討論了buildout ,因為我沒有使用它,因此看不到如何繼續。

我的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/

在這一點上,我不確定如何“運行”我的應用程序。

忠告?

Buildoutvirtualenv實際上是切線相關的。 擴展實際上是關於以受約束和受控的方式部署軟件,其中virtualenv涉及封裝python軟件在其中運行的環境。 Buildout提供了virtualenv自身內部的功能,然后圍繞它進行了更多包裝。

將擴展視為如何獲取代碼並將其放到准備運行的遠程系統上的配方集。 該過程的一部分開始於創建一個干凈的沙箱(virtualenv也可以提供此沙箱)-然后根據需要添加庫,零件和零件。

我不是建築專家,但是我希望您的python主代碼顯示在目錄結構中的“ bin”下,並且您將以某種方式從那里調用它。

以下食譜將龍卷風作為雞蛋安裝,並在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}

在我們的項目中,我們也不使用Zope。 我們花時間為學生寫了一篇介紹如何使用zc.buildout和標准python打包工具組織(並通過PyPI分發)他們的代碼的zc.buildout 對於閱讀此線程的人來說可能很有用: http : //www.idiap.ch/software/bob/docs/releases/v1.2.2/sphinx/html/OrganizeYourCode.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM