【问题标题】:Defining PYTHONPATH for http requests on a shared server为共享服务器上的 http 请求定义 PYTHONPATH
【发布时间】:2010-12-23 19:24:07
【问题描述】:

我正在 Bluehost 上安装 Django,安装它的步骤之一是在他们的服务器上安装 Flup。我这样做了,当我通过 SSH 登录时,一切都很好。但是,当我实际在浏览器中点击该页面时,它找不到 Flup。我在服务器日志中收到此错误:

错误:没有名为flup的模块。无法加载flup包。为了将 django 作为 FastCGI 应用程序运行,您需要从 http://www.saddi.com/software/flup/ 获取 Flup 如果您已经安装了 Flup,请确保您的 PYTHONPATH 中有它。

因为当我在 SSH 中时它会识别 Flup,所以我最好的猜测是我需要更改一些其他 bash 文件以使 PYTHONPATH 指向 http 请求的正确位置。但是由于它是一个共享服务器,我在我的主目录之外没有很多特权。

有什么想法吗?

【问题讨论】:

    标签: python django pythonpath bluehost flup


    【解决方案1】:

    如果您可以确定究竟是哪个模块正在尝试import flup,则可以在该导入前加上您已安装flup 的路径的sys.path.append——只要sys.path.append 发生import flup之前,你在三叶草中。

    【讨论】:

    • 我在我的 fcgi 文件中调用 append 函数。这是否足够或者我需要找到调用flup的django文件并在那里手动更改它?
    • 如果您仍然收到错误,那么您没有足够早地进行附加(并且您可能确实必须识别 - 并且,叹息,修改 - 一个 django [[或其他]] 模块在错误发生之前被加载)。
    • 听起来不错。用于破解路径:site.addsitedir.
    • @Adam,很高兴听到这个消息——不客气! @bobince,好的提示,尤其是。如果涉及.pth 文件。
    猜你喜欢
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多