나는 OS X에서 파이썬 2.7.2로 개발 된 앱을 가지고있다. 나는 모듈 선반을 사용하고 mac에서 bsddb를 기본으로하는 것처럼 보인다. 모듈 bsddb가없고 ActiveState의 패키지 관리자 (pypm)에 없으므로 ActiveState python 2.7이 설치된 Windows 7 시스템에서 프로그램이 실행되지 않습니다. ActiveState의 문서는 v 2.6에서 더 이상 사용되지 않습니다. DB를 작성한 OS X 파이썬이 bsddb를 기본값으로 사용하기 때문에 bdddb를 시도합니다. shelve 데이터베이스를 삭제하고 Windows에서 실행하면 행복하게 다른 기본 데이터베이스가 사용됩니다. 맥의 파이썬 또한 행복하다.python shelve ... bsddb deprecated ... shelve에서 다른 데이터베이스를 사용하는 방법?
그래서 선반 용으로 비 bdsdb 백엔드를 사용해야한다고 생각합니다. gdbm 모듈과 같습니다. 하지만 그 방법을 해결할 수는 없습니다.
내가 가진 문제는 ActiveState의 파이썬을 사용하고 사용하여 윈도우 실행 파일을 만들려고 노력 창에 좋다 그래서 나는 단지 10 개 간단한 사전을 저장하고있어이 포함 py2exe. shelve를 사용하면 bsddb가로드되기 때문에 실행 파일이 실패합니다. 프로그램을 python program.py로 실행하면 문제가 발생합니다. 위의 해킹을 사용하면 아무런 차이가 없습니다. –
기존 파일을 만들거나 새 파일을 만들 때 – unutbu
shelve 데이터베이스를 삭제하면 문제가 발생하지 않습니다. 2004 년에 게시판을 찾아서 py2exe를 작동 시키려면 dbm 복제본을 명시 적으로 포함해야합니다. 옵션을 통해 dubmdbm을 포함 시키십시오. { "py2exe": { "includes": [ "dumbdbm"]}}, i n setup.py 스크립트. –