【问题标题】:Best way to control library versions and sys.path for a Python command-line application控制 Python 命令行应用程序的库版本和 sys.path 的最佳方法
【发布时间】:2014-04-23 20:18:54
【问题描述】:

我想构建一个具有锁定库版本的可分发、自包含的 Python 命令行应用程序。在 Ruby 中,我可以通过以下方式控制命令行应用程序的库:

  • 包括一个 Gemfile
  • 让用户在克隆我的应用程序存储库后运行 bundle install
  • 在命令行入口点脚本的顶部插入几行捆绑程序样板,将 Ruby 的 $LOAD_PATH 配置为仅包含 Gemfile 中指定的 gem

Python 的等效过程是什么?我知道virtualenv,我需要让用户创建一个虚拟环境并记得激活它吗?这似乎太难了。

【问题讨论】:

    标签: python


    【解决方案1】:

    这在很大程度上取决于观众。

    对于开发者来说,确实是个好主意 - 包括 requirements.txt - pip install -r requirements.txt

    对于最终用户,我推荐以下之一:

    从这个其他 StackOverflow answerpbundler 也可能会有所帮助。

    【讨论】:

    • 谢谢,这不是全局安装要求吗?这涵盖了前 2 部分,但是如何在运行时设置 sys.path 以准确指向 requirements.txt 中指定的每个库的版本?
    • 感谢 cmets,已在上面更新。带 pbundler 和 cxFreeze。
    猜你喜欢
    • 2011-03-23
    • 2010-09-17
    • 2011-07-01
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    • 2012-12-04
    • 2010-10-01
    • 1970-01-01
    相关资源
    最近更新 更多