当前位置: 首页 > 知识库问答 >
问题:

运行 django 蟒蛇 3.4 在mod_wsgi与 apache2

长孙和悦
2023-03-14

嗨,当我在运行apache 2的ubuntu server 14.10上使用mod_wsgi和python访问django时,出现了下面的错误。

我的django应用程序使用python 3.4,但它似乎默认为python 2.7,我无法从PIL导入图像,从pycrypto导入AES。

导入错误在 /
无法导入名称 _imaging
请求方法: GET
请求 URL:
Django 版本: 1.7.3
异常类型: 导入错误
异常值:
无法导入名称 _imaging
异常位置: /usr/本地/lib/python3.4/dist 包/PIL/图像.py , 第 63 行
Python 可执行文件: /usr/bin/
python 版本: 2.7.6
蟒蛇路径:
[/var/www/blabla', '
/usr/本地/自由/python3.4/dist-package',
“/usr/lib/python2.7”,
“/usr/lib/python2.7/plat-x86_64-linux-gnu', '
/usr/lib/python2.7/lib-tk
', '/usr/lib/python2.7/lib-old', '
/usr/lib/python2.7/lib-dynload
', '/usr/local/lib/python2.7
/dist-package', '/usr/lib/python2.7/dist-package',
'/var/www/blabla
', ”/usr/local/lib/python3.4/dist-packages“, ”/usr/local/lib/python3.4/dist-packages“, ”/usr/lib/python2.7/dist-packages“, ”/var/www/blabla', “/usr/local/lib/python3.4/dist-packages”]

共有3个答案

翁和颂
2023-03-14

谢谢伙计们,

实际上,我今天早上自己通过运行指向python3.4的mod_wsgi的make install解决了这个问题。

我认为你是对的亚当。

袁宜
2023-03-14

从我在这里看到的情况来看,您的应用程序正在使用带有py3编译模块的py2解释器,这是行不通的。

我想到的一个简单可能的解决方案是添加或更改 manage.py 的第一行到#!/usr/bin/python3。这将告诉脚本使用py3进行解释。

下一个猜测列表将是*. wsgi文件或apache配置中的错误配置,无论您使用哪种配置。

曾飞雨
2023-03-14

我认为mod_wsgi是根据特定版本的python编译的,因此需要一个py3.4版本的mod_wsgi。您可以从操作系统的软件包存储库中获得一个,也可以构建一个没有太多麻烦的软件包。从内存中,您需要gcc和python-dev包(python3-dev?)以进行构建。

好的,快速谷歌,对于ubuntu 14.10:苏多阿普特-获取安装利巴帕切2-mod-wsgi-py3应该安装一个py3版本的mod_wsgi(可能想要删除现有的py2版本)。

添加shebang行没有任何用处,因为在wsgi之前已经加载了python解释器。读取py脚本。

 类似资料:
  • 我正在运行Ubuntu 18.04。 我使用mysql连接器-python连接Python到MySQL。 我使用的是Python 3.6.7,并且已经安装了mysql连接器-python。 我已经安装了mysql连接器-python-py3_8.0.13-1ubuntu18.10_all.deb. 在运行Python脚本时,mysql。连接器模块似乎加载正确,但脚本在碰到光标时失败。next()具

  • 假设我有一些资源,我想在用python编写的aws lambda中的不同请求之间共享。我应该如何实现这一点? 是否有“启动后”挂钩,或者我应该在第一次调用时惰性地创建资源?“延迟初始化”的缺点是,它意味着一些请求会随机变慢,因为您选择了一个消费者来承担启动成本。 此外…这些资源会在lambda可执行文件被“冻结”后幸存下来吗? 本页https://docs.aws.amazon.com/lambd

  • 我想在ubuntu 14.04LTS的引导上运行一个python脚本。 我的rc.local文件如下: sudo /首页/hduser/morey/动物园管理员-3.3.6/bin/zkServer.sh启动 回声“测试” sudo/home/HD user/Morey/Kafka/bin/Kafka-server-start . sh/home/HD user/Morey/Kafka/confi

  • 我需要在我的中添加一个新的目录位置,但问题是我使用的是一个全新安装的系统(Linux),其中尚未定义任何。我读过并使用过,我认为我很了解它,但我不知道当没有存在时会发生什么。 我不能附加到不存在的东西上,但我希望当前发现的所有重要库都能正常工作,因此要小心,我在Python中使用了来获取所有标准值。然后我为定义了一个-变量,包括我刚刚找到的所有节点,以及我的新目录。但是哇,很多东西都停止工作了!P

  • 我已经在Windows 7上安装了Python 3.3,并创建了一个bat文件来运行下面的Pythone脚本: 当我双击蝙蝠文件时,我得到以下错误: 文件“C:\Python33\lib\编码\cp1252.py”,第 23 行,在解码返回codecs.charmap_decode(输入,自我错误,decoding_table)[0] Unicode解码错误:'charmap' 编解码器无法解码位

  • 我想定义一个返回树节点值列表的函数。列表按级别顺序排列(从上到下,从左到右),如果缺少孩子,则在其位置插入“无”。 这是二叉树实现