【问题标题】:Werkzeug doesn't include wsgi moduleWerkzeug 不包含 wsgi 模块
【发布时间】:2012-01-05 04:52:48
【问题描述】:

我正在尝试在当前成功运行 5.0 分支的开发环境中运行 OpenERP 的 6.1 分支。我在 Ubuntu 10.04 Lucid Lynx 上运行。

我已经克服了一些障碍,但我目前遇到了由 import werkzeug.wsgi 引起的错误 http 模块。我添加了python-werkzeug 包,但它不包含wsgi 模块。我查看了package's web page,发现我的 Ubuntu 版本的 werkzeug 为 0.5.1,而较新的版本都至少有 0.6.2。当我比较 werkzeug 0.5werkzeug 0.6 的源代码时,我可以看到在这两个版本之间添加了 wsgi 模块。

如何在 Ubuntu 10.04 上运行至少 0.6 版的 werkzeug?这表示我已经获得了最新的:

sudo apt-get install python-werkzeug

【问题讨论】:

    标签: python openerp werkzeug


    【解决方案1】:

    Aptitude 对于 Python 包来说通常已经过时了,因为它似乎就在这里。使用 Python 的包管理工具 pip 会更好。 Pip 告诉我 werkzeug 目前的版本是0.8.1

    首先安装 pip(如果你还没有的话)

    sudo easy_install pip
    

    然后安装 werkzeug

    sudo pip install werkzeug
    

    轻松安装不再是推荐的 Python 包方式 - 你当然应该使用 pip

    这些命令将软件包安装到您机器的全局 Python 环境中。您最好调查一下virtualenv,它会创建单独的 Python 解释器,可以安装自己的包。

    祝你好运!

    【讨论】:

    • 附言。你应该在运行之前卸载 apt-get 的版本,使用sudo apt-get remove --purge python-werkzeug
    • 是的,除非您已经尝试安装依赖于它的软件包(例如 OpenERP 6.1),这也会导致它被删除。我试过sudo pip install --upgrade werkzeug,它奏效了。
    • @HosamAly 这正是您应该使用 virtualenv 的原因!您目前只能安全地使用 OpenERP 所依赖的 werkzeug 版本。如果 werkzeug 发生重大变化并且您运行该 pip 命令,它可能会使您的系统处于不稳定状态。相反,如果您选择保留系统版本,您将错过功能和修复。使用 virtualenv --no-site-packages <name> 为每个项目创建一个干净的专用 Python 解释器,使用 <name>/bin/pip install werkzeug 安装该项目的依赖项,并使用 <name>/bin/python 的解释器运行它。
    • 谢谢。我不知道 virtualenv;看起来值得一试。
    【解决方案2】:

    我终于在Werkzeug documentation找到了答案。 easy_install 似乎是从其他地方得到的:

    sudo easy_install Werkzeug
    

    【讨论】:

    • Easy install 从 Python 的包索引 (Pypi - pypi.python.org/pypi) 中查找包。但是,您最好使用pip,这是一个更完整的包管理工具:)
    【解决方案3】:
    【解决方案4】:

    在我的情况下,我可以在完成所有这些操作后解决它:

    1- pip install -r requeriments.txt
    2- pip3 install -r requeriments.txt
    3- sudo pip3 install -r requeriments.txt
    4- python -m pip install -r requirements.txt
    5- sudo python3 -m pip install -r requirements.txt
    6- cd /usr/bin/local and check the available version of python, then
         . /usr/local/bin/python3.7 -m pip install -r requirements.txt
         . sudo /usr/local/bin/python3.7 -m pip install -r requirements.txt
    

    断定原因是要使用的python版本同步。

    【讨论】:

      猜你喜欢
      • 2012-09-10
      • 2020-04-02
      • 2021-06-18
      • 1970-01-01
      • 2020-06-04
      • 1970-01-01
      • 1970-01-01
      • 2012-06-07
      • 1970-01-01
      相关资源
      最近更新 更多