site.addsitedir 未完全处理 .pth 文件

发布于 2024-09-13 12:23:05 字数 573 浏览 4 评论 0原文

这是一个 apache/mod_wsgi/virtualenv/django 堆栈。在 virtualenv site-packages 目录中,我有一个 virtualenv_path_extensions.pth 文件。 apache conf 有一个

WSGIScriptAlias / /path/to/my.wsgi

my.wsgi

site.addsitedir('/path/to/virtualenv/site-packages')

现在,如果我启动一个 python shell,导入站点,然后调用上面的行,我的 sys.path 看起来是正确的:它已经加载了 virtualenv_path_extensions.pth 中的所有路径

但是,在 apache 下我收到 500 错误,因为它声称 django 不在路径上。当我在 my.wsgi 中的 addsitedir 行之后记录 sys.path 时,它看起来好像添加了 virtualenv_path_extensions.pth 的第一行,但没有添加其余部分!

可能是什么原因造成的?

This is a apache/mod_wsgi/virtualenv/django stack. In the virtualenv site-packages dir I've got a virtualenv_path_extensions.pth file. The apache conf has a

WSGIScriptAlias / /path/to/my.wsgi

my.wsgi has

site.addsitedir('/path/to/virtualenv/site-packages')

Now, if I start up a python shell, import site, and call the line above, my sys.path looks correct : it has loaded all the paths in the virtualenv_path_extensions.pth

However, Under apache I'm getting 500 errors because it claims django is not on the path. When I log sys.path after the addsitedir line in my.wsgi, it looks as if it has added the first line of virtualenv_path_extensions.pth, but not the rest!

What might cause that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

装纯掩盖桑 2024-09-20 12:23:05

啊,selinux :D

未加载的路径有错误的上下文,apache 无法触及它们...

** 必须记住在出现问题时检查这些 selinux 日志 **

Ah, selinux :D

The paths that were not getting loaded had the wrong context, and apache wasn't able to touch them ...

** must remember to check those selinux logs when mysteries arise **

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文