【问题标题】:Change dependencies code on dotcloud. Django更改 dotcloud 上的依赖项代码。姜戈
【发布时间】:2012-11-27 22:17:22
【问题描述】:

我正在使用 Dotcloud 部署我的 Django 应用程序。在本地开发时,我必须在一些依赖项的代码中进行更改(在我的 virtualenv 中)。

所以我的问题是:有没有办法在 dotcloud 上部署时对依赖项(例如 django-registration 或 django_socketio)进行相同的更改?

感谢您的帮助。

【问题讨论】:

    标签: python django dotcloud


    【解决方案1】:

    有很多方法,但并非所有方法都是干净/简单/可行的。

    如果这些依赖项位于 github、bitbucket 或类似的代码存储库上,您可以:

    • fork 依赖,
    • 编辑你的分叉,
    • 指向requirements.txt 文件中的分支。

    这将允许您跟踪对这些依赖项的进一步更改,并轻松地将您自己的修改与未来版本合并。

    否则,您可以在代码中包含(修改后的)依赖项。它不是很干净并且会增加应用程序的大小,但这也很好。

    最后但同样重要的是,您可以编写一个非常骇人听闻的 postinstall 脚本,以找到要修改的 .py 文件(例如 import foo ; foopath = foo.__file__),然后在该文件上应用补丁。这可能会让大多数系统管理员感到恐惧,但值得一提:-)

    【讨论】:

    • 我喜欢第一个解决方案。非常感谢!
    • 我同意,第一个解决方案是一个很好的答案。比我的好多了。
    【解决方案2】:

    如果您使用的是requirements.txt,不,没有办法从 pypi 执行此操作,因为 Dotcloud 只是下载您从 pypi 指定的包,显然您在 virtualenv 中的更改不会由包的规范版本反映出来。

    为了使用您的依赖项的编辑版本,您必须像您编写的任何其他模块一样将它们捆绑到您的代码中,并从那里import它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-08
      • 2020-08-17
      • 2020-10-18
      • 2020-08-24
      • 2020-11-14
      • 1970-01-01
      • 2021-12-03
      • 1970-01-01
      相关资源
      最近更新 更多