我在运行segmentation fault
时遇到Django
。(这只是带有测试服务器的简单代码)
在我查找时,Django
是用Python
编写的。
我想确保如果Django
仅使用python
而没有任何C libraries
或可能会产生分段错误的内容,那么我可以说分段错误是由于{ {1}}本身。
Python interpreter
仅使用Django
?
------- -------- Eidt
其他一些python包直接在包中导入C库,例如python
,lxml
。
因此,即使我完美地安装了python,它也会使分段错误访问第三部分cx_Oracle
。
我的问题是,如果我完全安装python,Django永远不会产生分段错误?
因为wrong C libraries
仅在python解释器上运行,而不是直接访问第三部分C库。
我怀疑安装Python而不是django时一定有问题。(我试图在AIX中安装python)
答案 0 :(得分:2)
这只是带有测试服务器的简单代码
Django本身完全用python编写(加上少量的javascript和shell脚本)。
django真的是唯一安装的python包吗?即使对于简单的网站,它也很少见。
通过pip安装的许多软件包不是纯python(例如mysqlclient-python
:64%python / 36%C代码)。即使包是纯python,也可以使用ctypes
直接调用C库(例如mysql-ctypes
包)。
即使使用无错误的解释器,链接C库中的错误(例如libmysql
)或包含/ C接口的python包也可能导致段错误。
答案 1 :(得分:1)
Django只是Python,它没有C代码。它的某些部分具有使用C的依赖性,例如GeoDjango具有用C语言编写的依赖项。
添加
TypoScriptFrontendController
到您的Django设置文件,并希望它打印一个堆栈跟踪,显示崩溃发生的位置。请参阅this blog post。
编辑:当然,如果您没有使用Python 3.3或更新版本
,这确实需要您ContentObjectRenderer