python - buildout - 使用不同的 python 版本

标签 python version buildout

我已经设置了必须在旧机器上运行的构建项目(具体来说是 django),它在我的本地系统中使用 python 2.7 运行良好。

在生产服务器中,它运行 python 2.5,我想配置它会下载和使用 2.6 的构建,但只有这个项目不是系统范围的。

所以我认为它应该使用某种配方,但是女巫以及如何使用?我找不到一个。我希望只使用 buildout.cfg 文件来实现它..

最佳答案

Buildout 特别支持这种情况。构建中的每个部分都可以使用它自己的 python 解释器,或者您可以为所有部分全局设置一个 python 解释器。这默认为用于运行构建的 python。

要设置使用的 python 解释器,请将 python 选项设置为包含 executable 选项的部分的名称。这可以是构建全新 python 解释器的一部分。这是一个例子:

[buildout]
python = python
parts =
    python

[python]
recipe = zc.recipe.cmmi
url = http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz
executable = ${buildout:directory}/parts/python/bin/python2.6
extra_options=
    --enable-unicode=ucs4
    --with-threads
    --with-readline

此构建中的任何其他部分现在都将使用 python 2.6 可执行文件。

您可能还想将 python 脚本符号链接(symbolic link)到构建 bin/ 目录中;以下部分将为您完成:

[pythonbin]
recipe = plone.recipe.command
command = ln -s ${python:executable} ${buildout:bin-directory}/python

关于python - buildout - 使用不同的 python 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5726289/

相关文章:

python - 如何检查列表中是否有元组?

python - 抓取 RSS feed 时无法抓取 scrapy

cuda - 如何获取_实际_ CUDA 驱动程序版本?

python - 为什么要在扩建内部 build 监督员?

python - 如何同时使用 zc.buildout 和 setup.py?

python - 如何在 Python 中使用 Selenium-chromeDriver 在 Chrome 中打开新标签页

python - 在 pandas 中对数据进行分组和排序的最佳方法是什么?

python - 如何将 pyNetLogo 连接到 netlogo 版本 5

swift - Cocoapods - 使用 Swift 3.0 编译的模块无法在 Swift 3.0.1 中导入

python - Django 管理员身份验证失败