问题标签 [buildout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何使用 distutils api 或 setuptools api 安装 distutils 包
我正在开发一个需要在远程服务器上安装 distutils 包的构建脚本。
在 PyPi 上,有 2 种方法可以完成此功能, collective.recipe.distutils 0.1 和 zerokspot.recipe.distutils 0.1.1。
后面的模块是前者的派生,比第一个更方便一点,但两者都遇到同样的问题,我现在将描述这个问题。
当 bootstrap.py 执行时,它会下载 zc.buildout 包并将其放入 buildout 的 egg 目录中。这使 ./bin/buildout 可以访问 zc.buildout 代码,但 /usr/local/python 目前对 zc.buildout 一无所知。
Buildout 尝试通过在子进程中运行“python setup.py install”来安装包。这会产生 ImportError,因为没有为 /usr/local/python 安装 zc.buildout。
所以,我有几个解决方案。
在远程服务器上使用 easy_install 安装 zc.buildout。我根本不喜欢这个选项,它为一个非常微不足道的模块提供了一个特殊情况。
修改 zerokspot.recipe.distutils 以将 try 块放在“import zc.buildout”周围,这样即使没有安装 zc.buildout 也会安装。这是一个不错的解决方案,但有点骇人听闻。
将 subprocess 替换为将使用 distutils api 或 setuptools api 安装包的代码。在我看来,这将是最好的解决方案。
问题是我将如何做#3?
谢谢你,塔拉斯
PS:我通过创建另一个不依赖于 zc.buildout 的包解决了这个问题。我的包名为taras.recipe.distutils,它可以在 pypi 上找到。
python - 如何为 Cheeseshop ( pypi ) 上托管的软件包做出改进?
我越来越多地使用 zc.buildout 并且遇到了一些我有解决方案的食谱问题。
这些包通常分为几类:
- 没有明显链接到项目站点的包
- 包含指向免费托管服务(如 github 或 google 代码)的链接的软件包
设置 #2 比 #1 好,但也好不了多少,因为对于这两种情况,我必须等待开发人员应用这些更改,然后才能使用更新的包构建。
到目前为止,我一直在做的基本上是分叉包,给它一个不同的名称并将其上传到 pypi,但这会造成冗余,我认为只会加剧问题。
一种可能的解决方案是使用个人服务器包索引,我将在其中上传代码的更新版本,直到开发人员更新他/她的包。这是可行的,但它增加了我希望避免的额外工作。
有一个更好的方法吗?
谢谢
python - 如何使用 buildout 创建我的项目的本地化版本?
我正在尝试创建我的项目的本地化版本。
我从以下开始:
在最后一个命令之后,我收到以下消息:
警告:HTTP 中不支持通配符。--08:42:17-- http://svn.zope.org/checkout /zc.buildout/trunk/bootstrap/bootstrap.py => `bootstrap.py' 正在解决 svn.zope.org... 74.84。 203.155 连接到 svn.zope.org|74.84.203.155|:80... 已连接。HTTP 请求已发送,等待响应... 200 OK 长度:未指定 [text/x-python]
08:42:17 (122.64 MB/s) - `bootstrap.py' 已保存 [2572]
您可以在那里看到一条警告消息。我不知道这意味着什么,我是否应该对此保持警惕。无论如何,我试图继续。
在 buildout.cfg 我放了以下内容:
然后我执行:
在那个阶段我有问题:
获取“zc.recipe.egg”的分发。得到 zc.recipe.egg 1.2.2。安装sqlite。获取“pysqlite”的分发。在 src/module.c:24 包含的文件中:src/connection.h:33:21:错误:sqlite3.h:没有这样的文件或目录 在 src/module.c:24 包含的文件中:src/connection.h :38: 错误:'sqlite3' 之前的预期说明符限定符列表在 src/module.c:25 包含的文件中:src/statement.h:37:错误:'sqlite3' src/module 之前的预期说明符限定符列表.c:在函数“module_complete”中:src/module.c:99:警告:函数“sqlite3_complete”的隐式声明 src/module.c:在顶层:src/module.c:265:错误:“SQLITE_OK”未声明此处(不在函数中) src/module.c:266:错误:此处未声明“SQLITE_DENY”(不在函数中) src/module.c:267:错误:传递 'PyString_FromString' 的参数 1 从整数生成指针而没有强制转换错误:安装脚本退出并出现错误:命令 'gcc' 失败,退出状态 1 尝试安装 pysqlite 2.5.5 时发生错误。查看此消息上方是否有任何错误这是easy_install的输出。同时:安装 sqlite。获取“pysqlite”的分发。错误:无法安装:pysqlite 2.5.5
谁能告诉我,这些错误消息是什么意思以及如何解决上述问题?
python - Buildout 和 Virtualenv
我正在使用 buildout 和 virtualenv 的组合来在 python 中设置一个隔离的开发环境,允许进行可重复的构建。
有一个构建方法可以让您将 virtualenv 集成到构建中:
有了这个,我的 buildout.cfg 看起来像这样:
这会将两个可执行文件部署到 ./bin/ 中:
当我执行 vp 时,我得到了一个交互式的、隔离的 python 对话框,正如预期的那样(无法从系统加载任何包)。我现在期望的是,如果我跑步
使用了隔离的 python 解释器。但它没有,它不像“vp”那样被隔离(这意味着我可以从系统级别导入库)。但是我可以运行:
它将如我所愿在隔离环境中运行脚本。但是必须有一种方法可以在不链接命令的情况下指定这样做,否则 buildout 只能解决我希望的一半问题:)
谢谢你的帮助!帕特里克
python - 来自构建的 Pyfacebook
使用 buildout 安装最新版本的 pyfacebook 的最佳方法是什么?该软件包托管在 github 上,不在 pypi 上。这个系统没有安装 git,所以不幸的是,基于 git 的配方不是一个选项。github URL 是http://github.com/sciyoshi/pyfacebook。蒂亚!
python - 扩展部署策略
所以我将 zc.buildout 应用于现有的 django 项目。我想知道现在部署它。如何在生产服务器上实现沙盒效果?
python - 是否有使用 pip 但不安装 virtualenv 的构建配方?
我想使用 buildout 而不是 virtualenv。这个决定意味着我不希望 virtualenv 被偷偷带入我的工具包中,所以我正在寻找一种方法来告诉 gp.recipe.pip不要安装 virtualenv meme 病毒,或者,一种从 git repos 安装软件包的方法用于 django/djangorecipe。
想法?
python - 试图在我的 Mac 上安装可靠的 Python?
我安装了 Xcode 的 Mac OSX 10.5.8。我想避免使用 MacPorts,只想获得一个坚实的 Python 安装基础,这样我就可以继续处理 Django 和其他东西。我想在我的 Python 应用程序中使用 Buildout。
我已经从官方网站安装了二进制 Python 2.6.4 并安装了它。按照其他建议,我已将其放入我的~/.bash_profile
文件中:
所以,当我做which python
它时,它会显示/usr/local/bin/python
. 而且,当我这样做时,python -V
它会显示Python 2.6.4
- 这一切看起来都很棒。
我查看了/usr/local/bin/
文件夹内部,除其他外,我似乎有正确的东西指向 Python 2.6:
但是,当我做一个easy_install
virtualenv (我想与 Buildout 一起使用)时,它似乎将它安装在/Library/Python/2.5/site-packages/virtualenv-1.4.3-py2.5.egg
...这是 Python 2.5?此外,当我使用 virtualenv 设置我的 Buildout 文件夹时,其中的.Python
符号链接将:
为什么是这样?我不明白这一点。我怎样才能让它全部指向正确的 Python 2.6?
非常感谢您的任何回答,这让我很烦。干杯。
python - 让 Django 和 Buildout 工作,但是 PIL 和 Postgres 呢?
我在 Mac OSX 10.5.8 上。我关注了 Jacob Kaplan-Moss 关于使用 Buildout 设置 Django 的文章:http: //jacobian.org/writing/django-apps-with-buildout/
最后,我让这个 Buildout 工作了!...但我现在需要 PIL 和 Postgres 来构建一个完全独立的 Django 开发区域。我试图用我在互联网上阅读过的教程修改我的 buildout.cfg,但只是找不到如何做到这一点而不会引发各种错误。我觉得 PIL 和 Postgres 是完成这个小设置的下一步,所以我可以继续它......(顺便说一下,我不是这方面的专家,我来自 PHP 背景)。我当前的 buildout.cfg 看起来像这样:
谁能帮助我可靠地让 PIL 和 Postgres 与我的 Buildout 一起工作?提前非常感谢你......到目前为止我尝试过的所有事情都会引发各种错误。