TracError: 지원되지 않는 데이터베이스 유형 'mysql'

TracError: 지원되지 않는 데이터베이스 유형 'mysql'

내 환경:

Debian: 9.3
trac/stable,now 1.2+dfsg-1 all [installed]
python-mysqldb/stable,now 1.3.7-1.1 amd64 [installed]

나는 팔로우한다trac수동으로 다음 추적을 실행 trac-admin /usr/share/trac initenv하고 가져옵니다.

Creating and Initializing Project
Initenv for '/usr/share/trac' failed. 
Failed to create environment.
Unsupported database type "mysql"
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/trac/admin/console.py", line 497, in do_initenv
    options=options)
  File "/usr/lib/python2.7/dist-packages/trac/core.py", line 128, in __call__
    self.__init__(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/trac/env.py", line 299, in __init__
    self.create(options)
  File "/usr/lib/python2.7/dist-packages/trac/env.py", line 591, in create
    DatabaseManager(self).init_db()
  File "/usr/lib/python2.7/dist-packages/trac/db/api.py", line 337, in init_db
    connector, args = self.get_connector()
  File "/usr/lib/python2.7/dist-packages/trac/db/api.py", line 606, in get_connector
    scheme=scheme))
TracError: Unsupported database type "mysql"

오류가 발생한 것 같습니다./usr/lib/python2.7/dist-packages/trac/db/mysql_backend.py가져오지 않았습니다( MySQLConnector.get_supported_schemes()실행되지도 않음). 문제는 이 파일을 로드하기 위한 코드에서 참조를 찾을 수 없다는 것입니다. 인터페이스만 찾을 수 있어요 IDatabaseConnector.

postgres 백엔드 /usr/lib/python2.7/dist-packages/trac/db/postgres_backend.py도 로드되지 않지만 일단 설치하면 python-psycopg2마술처럼 로드가 시작됩니다. 어떻게 그래?

누군가 여기에서 Python의 마법과 mysql백엔드를 작동시키는 방법을 설명할 수 있습니까?

답변1

가장 쉬운 해결 방법은 설치 후 /usr/lib/python2.7/dist-packages/Trac-1.2.egg-info/entry_points.txt를 편집하고 여기에서 [mysql] 접미사를 제거하는 것입니다: trac.db.mysql = trac.db .mysql_backend[mysql]

답변2

최근 Ubuntu 18.04로 업그레이드했는데 디버깅 중에 python-pymysql 패키지가 자동으로 제거된 것을 발견했습니다(업그레이드에는 실제로 수동으로 해결해야 하는 일부 손상된 종속성 문제가 있었습니다). 뒤쪽에

$ apt install python-pymysql

trac이 다시 작동하기 시작합니다.

답변3

동일한 문제가 발생한 후 다음 방법이 작동했습니다.

$ pip install MySQL-python

물론 이것은 virutalenv를 사용하고 있습니다.

cd /home/user/dev
mkdir TracEnv
mkdir TracEnv/TracProject
cd ./TracEnv/
virtualenv venv
source ./venv/bin/activate
pip install trac
pip install MySQL-python
trac-admin /home/user/dev/TracEnv/TracProject initenv

관련 정보