【问题标题】:Use virtualenv in production without python-dev在没有 python-dev 的情况下在生产中使用 virtualenv
【发布时间】:2013-07-28 10:10:10
【问题描述】:

我有一个 python web 项目,我在我的开发服务器上使用 virtualenv 和 pip。 一些 python 包需要编译,所以我应该有 python-dev 以便 pip 安装它们。 有没有办法在生产中重现我的需求堆栈,保持virtualenv,但没有python-dev,因为我没有处理开发服务器?

【问题讨论】:

    标签: python virtualenv pip production-environment


    【解决方案1】:

    pip 1.4 增加了对安装和构建 wheel 包的支持。

    “Wheel”是一种内置的存档格式,与从源存档构建和安装相比,它可以大大加快安装速度。

    程序

    1. 安装/升级到 pip 1.4。 (仅限一次)

    2. 在开发服务器和生产服务器中安装 wheel。 (仅限一次)

      pip install wheel
      
    3. 在开发服务器中构建 wheel 包:

      pip wheel --wheel-dir=/local/wheels -r requirements.txt
      
    4. /local/wheels 包传输到生产服务器。

    5. 在生产服务器中安装软件包:

      pip install --use-wheel --no-index --find-links=/local/wheels -r requirements.txt
      

    参考

    更多详情请参阅pip documentation about building and installing wheels

    【讨论】:

    • 谢谢,用轮子升级了!
    • 必须在 virtualenv 中将 setuptools 升级到 0.9.8 才能制作轮子。
    • 如果没有 python-dev,我无法为 MySQL-python 和 uWSGI 创建轮子!似乎 python-dev 想要跟随我们的生产服务器到死。你有什么经验吗?也许我应该尝试在开发服务器上使用 python-dev 构建这些轮子,并在没有安装 python-dev 的情况下将它们安装到生产环境中?
    • @ScotchAndSoda,你需要编译器,python-dev 在开发服务器中创建轮子。
    • 这很好奇,我使用 python-dev 在开发服务器上创建的轮子并没有安装在生产端,因为轮子应该可以安装在 x86 和 64 架构上。
    猜你喜欢
    • 1970-01-01
    • 2016-06-28
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-04
    • 1970-01-01
    • 2021-08-11
    相关资源
    最近更新 更多