首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从virtualenv迁移到buildout?

如何从virtualenv迁移到buildout?
EN

Stack Overflow用户
提问于 2010-08-20 22:46:37
回答 3查看 1.3K关注 0票数 10

我正在尝试将一个项目从virtualenv迁移到buildout,但我不认为我已经掌握了buildout的整个概念。我找到的所有教程都是在与Zope一起使用buildout的上下文中讨论它的,我没有使用它,因此看不到如何继续。

我的virtualenv文件结构如下:

代码语言:javascript
复制
myapp/
  app.py

它是使用/path/to/venvs/myapp/bin/python /path/to/myapp/script.py运行的。

对于buildout,我的文件结构是:

代码语言:javascript
复制
myapp/
  app.py
  bootstrap.py
  buildout.cfg

运行python bootstrap.pybin/buildout会给出这些额外的文件:

代码语言:javascript
复制
myapp/
  bin/
    buildout
  eggs/
    setuptools-0.6c12dev_r80622-py2.6.egg
    tornado-1.0.1-py2.6.egg
  parts/

在这一点上,我不确定如何“运行”我的应用。

建议?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-22 22:44:10

下面的方法将tornado安装为一个鸡蛋,并在bin目录中创建一个python和myapp脚本,并使用正确的搜索路径来查找龙卷风鸡蛋。

代码语言:javascript
复制
[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}
票数 3
EN

Stack Overflow用户

发布于 2010-08-22 10:16:15

Buildoutvirtualenv实际上是切线相关的。Buildout实际上是以一种受约束和受控的方式部署软件,而virtualenv是关于封装python软件在其中运行的环境。Buildout提供了virtualenv在其内部所做的事情,然后对它进行了更多的包装。

可以将buildout看作是如何获取代码并将其放置到准备运行的远程系统上的配方集。其中一些过程开始于创建一个干净的沙箱(这也是virtualenv可以提供的)-然后根据需要添加库、块和部件。

我不是一个构建专家,但我希望您的python主代码会显示在目录结构中的"bin“下,并且您会以某种方式从那里调用它。

票数 3
EN

Stack Overflow用户

发布于 2013-07-04 17:45:50

在我们的项目中,我们也没有使用Zope。我们花时间为学生写了一篇介绍,介绍如何使用zc.buildout和标准的PyPI打包工具来组织(并通过python分发)他们的代码。它可能对任何阅读此帖子的人有用:http://www.idiap.ch/software/bob/docs/releases/v1.2.2/sphinx/html/OrganizeYourCode.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3531980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档