1

필자는 OSX 10.6을 사용하고 있으며 최근 Python 2.6에서 2.7로 업그레이드하여 파이썬 패키지를 업그레이드해야했습니다.pysqlite 세그멘테이션 오류?

이번에는 양조와 함께 sqlite, libspatialite 및 spatialite-tools를 양조로 설치하기로 결정했으며 brew doctor은 모든 것이 정상이라고 말합니다. 그 당시에는 로컬 개발 서버 (Django 1.4)를 시작할 때 기존 pysqlite가 SpatiaLite에 필요한 확장로드를 지원하지 않는다고 불평했습니다.

가 그럼 난 압축을 푼 pysqlite-2.6.3을 다운로드, 확장 로딩을 사용하도록 구성 변경, 다음했다 :

python setup.py build_static 
python setup.py install 

을 설명 here한다.

dev 서버를 실행할 때 "분할 오류"가 발생합니다. 다음과 같이

def trace(frame, event, arg): 
    print "%s, %s:%d" % (event, frame.f_code.co_filename, frame.f_lineno) 
    return trace 

sys.settrace(trace) 

조각화 오류 전에 몇 줄은 다음과 같습니다 : 무엇에

... 
call, /Users/omat/workspace/devspaces/env/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py:71 
line, /Users/omat/workspace/devspaces/env/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py:71 
call, /Users/omat/workspace/devspaces/env/lib/python2.7/encodings/utf_8.py:15 
line, /Users/omat/workspace/devspaces/env/lib/python2.7/encodings/utf_8.py:16 
return, /Users/omat/workspace/devspaces/env/lib/python2.7/encodings/utf_8.py:16 
return, /Users/omat/workspace/devspaces/env/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py:71 
Segmentation fault 

어떤 아이디어이 많이 말하지 않기 때문에, 난 그냥 import 문 후 장고의 manage.py에 settrace 추가 잘못되었을 수도 있고 도움이 될만한 사람도있을 것입니다. 감사.

답변

2

대부분의 경우 호환되지 않는 SQLite 또는 Python SQLite 기본 바인딩 라이브러리가 Python과 혼합되어 있습니다.

파이썬 업그레이드 후 모든 패키지를 질문에 다시 설치하십시오.

이와 같은 문제를 피하고자한다면 제 제안은 모든 패키지가 Homebrew와 같은 소스에서 온 관리 환경을 사용하여 Python, SQLite 및 Python 바인딩을 설치합니다.

이 환경 외부에서 패키지를 수동으로 설치하는 경우 기본 라이브러리를 컴파일 할 때 올바른 Python 라이브러리와 Python 헤더가 사용되는지 확인하십시오. Homebrew에서 라이브러리를 사용하는 경우 Homebrew는 Python 및 Python 헤더를 제공하고 OSX 기본값은 제공하지 않습니다.

어떻게

http://wiki.python.org/moin/DebuggingWithGdb

이 당신에게 실제 문제와 실패 질문의 개별 라이브러리를 말할 것이다 파이썬

에서 세그먼테이션 폴트 (segfault)를 추적합니다.