【问题标题】:deploying a Python application from a PHP developer从 PHP 开发人员部署 Python 应用程序
【发布时间】:2012-07-03 00:47:53
【问题描述】:

我对 Python 的部署过程有点困惑。假设你

  1. 使用 virtualenv 创建一个全新的项目
  2. 源 bin/激活
  3. pip 安装几个库
  4. 编写一个简单的 hello world 应用程序
  5. pip 冻结依赖项

当我将此代码部署到机器中时,我是否需要先确保机器是有源的,然后再安装依赖项?我并不是说听起来像个菜鸟,但在 PHP 世界中,我不必担心这一点,因为它已经是项目的一部分。所有依赖项都在自动加载器中注册。

步骤如下:

  1. rsync 文件(或任何其他方法)
  2. 源 bin/激活
  3. pip 从 pip freeze 输出文件安装依赖项

感觉很尴尬,或者只是错误且很容易出错。正确的制作步骤是什么?我四处搜索,但似乎许多教程/文章都假设阅读该文章的任何人都具有过去的 Python 经验 (imo)。

更新:

我应该提到我正在尝试了解它是如何与 Apache 挂钩的。

【问题讨论】:

  • Apache 方面与将应用程序部署到服务器完全无关。这真的是两个问题。 apache 的设置取决于您正在创建的 python 应用程序的类型。

标签: python deployment


【解决方案1】:
  1. 复制包含virtualenv 的目录。排除所有virtualenv 生成的文件。
  2. 在目标计算机上,在目录上创建一个virtualenv
  3. source bin/activate
  4. pip install -r requirements.txt

如果使用版本控制,第一步会简化;您只需克隆(Mercurial 或 Git)或签出(Subversion)代码。所有virtualenv 生成的文件都应该在适当的忽略文件中。 (.hgignore.gitignore.svnignore)。

【讨论】:

  • 那么 source bin/activate 也适用于 Apache 吗?我会认为 source 命令仅供终端使用。
  • @user1218776:我们在哪里提到了 Apache?
  • 您只需执行以下操作即可节省一步并简化:pip -E /path/to/env。那么您就不必担心采购问题了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多