gpt4 book ai didi

python - 使用 Python 3.6、Apache 2.4 和 Django 1.11 在 Ubuntu 上安装 mod_wsgi

转载 作者:IT老高 更新时间:2023-10-28 20:26:56 27 4
gpt4 key购买 nike

如何获得为 Python 3.6.1 编译的 Apache2 的 mod_wsgi?

(或任何 future 的 Python 版本)

我正在使用带有 Django 1.11 的 Python 3.6.1 虚拟环境,并且一切都根据 Apache 错误日志工作,除了 Apache 2.4 的 mod_wsgi 是为 Python/3.5.1+ 编译的并且使用的是 Python/3.5.2 所以我的 Python 3.6.1 代码失败了,因为我使用了 3.5.2 中没有的新功能

虽然 mod_wsgi 似乎没有使用我的 Python 3.6.1 虚拟环境(尽管它正在尝试使用它),但与设置我的系统有关的所有其他配置和安装似乎都很好(以守护程序模式运行)对于 Django 根据错误日志)...

我使用: sudo apt-get install libapache2-mod-wsgi-py3 为 Apache 2.4 安装 mod_wsgi

我用过: ./configure --with-python=/usr/local/bin/python3.6make with make install 为 Python 3.6 安装 mod_wsgi

我一定是做错了什么——请纠正我!

这是我的 Apache 错误日志(稍微清理一下)- 是的,我知道它在 f""字符串行上失败了(python 3.6 功能不在 3.5 中)

[wsgi:warn] mod_wsgi: Compiled for Python/3.5.1+.
[wsgi:warn] mod_wsgi: Runtime using Python/3.5.2.
[wsgi:warn] AH00489: Apache/2.4.18 (Ubuntu) mod_wsgi/4.3.0 Python/3.5.2 configured -- resuming normal operations
[wsgi:warn] AH00094: Command line: '/usr/sbin/apache2'
[wsgi:error] mod_wsgi (pid=12963): Target WSGI script '/home/jamin/www/dev.tir.com/tir/tir/wsgi.py' cannot be loaded as Python module.
[wsgi:error] mod_wsgi (pid=12963): Exception occurred processing WSGI script '/home/jamin/www/dev.tir.com/tir/tir/wsgi.py'.
[wsgi:error] Traceback (most recent call last):
[wsgi:error] File "/home/jamin/www/dev.tir.com/tir/tir/wsgi.py", line 21, in <module>
[wsgi:error] application = get_wsgi_application()
[wsgi:error] File "/home/jamin/www/dev.tir.com/py361ve/lib/python3.6/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
[wsgi:error] django.setup(set_prefix=False)
[wsgi:error] File "/home/jamin/www/dev.tir.com/py361ve/lib/python3.6/site-packages/django/__init__.py", line 27, in setup
[wsgi:error] apps.populate(settings.INSTALLED_APPS)
[wsgi:error] File "/home/jamin/www/dev.tir.com/py361ve/lib/python3.6/site-packages/django/apps/registry.py", line 116, in populate
[wsgi:error] app_config.ready()
[wsgi:error] File "/home/jamin/www/dev.tir.com/py361ve/lib/python3.6/site-packages/django/contrib/admin/apps.py", line 23, in ready
[wsgi:error] self.module.autodiscover()
[wsgi:error] File "/home/jamin/www/dev.tir.com/py361ve/lib/python3.6/site-packages/django/contrib/admin/__init__.py", line 26, in autodiscover
[wsgi:error] autodiscover_modules('admin', register_to=site)
[wsgi:error] File "/home/jamin/www/dev.tir.com/py361ve/lib/python3.6/site-packages/django/utils/module_loading.py", line 50, in autodiscover_modules
[wsgi:error] import_module('%s.%s' % (app_config.name, module_to_search))
[wsgi:error] File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
[wsgi:error] return _bootstrap._gcd_import(name[level:], package, level)
[wsgi:error] File "<frozen importlib._bootstrap>", line 986, in _gcd_import
[wsgi:error] File "<frozen importlib._bootstrap>", line 969, in _find_and_load
[wsgi:error] File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
[wsgi:error] File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
[wsgi:error] File "<frozen importlib._bootstrap_external>", line 665, in exec_module
[wsgi:error] File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
[wsgi:error] File "/home/jamin/www/dev.tir.com/tir/company/admin.py", line 13, in <module>
[wsgi:error] from .forms import AdminInteractionForm
[wsgi:error] File "/home/jamin/www/dev.tir.com/tir/company/forms.py", line 87
[wsgi:error] resp = f"Hi {user.first_name}, you'll need to login to send any more suggestions. \\
[wsgi:error] \\n\\nFirst Time? Check your email/spam for login instructions from us."
[wsgi:error]
[wsgi:error] ^
[wsgi:error] SyntaxError: invalid syntax

*tir.com 也是我的实际站点的简写 - 我与该域没有任何关系

最佳答案

执行以下操作。

卸载你的系统 mod_wsgi 包。

sudo apt-get remove libapache2-mod-wsgi-py3

使用 pip 安装 mod_wsgi,最好安装到 Python 虚拟环境中。确保 pip 适用于您要使用的 Python 版本。

pip install mod_wsgi

通过运行显示要添加到 Apache 配置文件以加载此 mod_wsgi 的配置:

mod_wsgi-express module-config

将上述命令的输出用于显示配置并添加到 Apache 配置中。

向 Apache 添加配置以加载一个 hello world WSGI 应用程序以测试它的工作原理。

查看基于 pip 的安装详情:

关于python - 使用 Python 3.6、Apache 2.4 和 Django 1.11 在 Ubuntu 上安装 mod_wsgi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44914961/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com