2017-10-28 1 views
0

지난 몇일 동안, 정상적으로 작동했습니다. 하지만 오늘은 인코딩 문제를 해결하려고했지만 갑자기 작동이 멈췄습니다. 내 코드를 이전의 코드로 되 돌렸지 만, 어떤 이유로 든 오류가 여전히 남아 있습니다. (슬프게도 인코딩 문제가 있습니다.)SQLAlchemy는 MySQLdb와의 작업이 갑자기 꺼지기 시작합니다.

Python 3.6.2 및 Anaconda에서 MySQLdb와 함께 MySQL을 사용하고 있습니다. MySQLdb와 Python 3 및 Anaconda의 비 호환성에 대해 알고 있습니다. 그러나 파이썬 2 나 다른 드라이버를 사용하고 싶지 않습니다.

mysqlclient을 설치하여이 문제를 해결했으며 import MySQLdb을 Qt 콘솔에서 수행 할 수 있습니다. 30 분 전에 문자 그대로 아래 코드로 엔진을 만들 수도있었습니다.

from sqlalchemy import create_engine 
engine = create_engine('mysql://user:[email protected]:3306/db?charset=utf8') 

리모트 리포지토리에서 코드를 검사하여 실수가 없는지 확인했습니다. 정확히입니다. 그러나 이제 다음과 같은 오류가 발생합니다 :

NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:mysql 

나는 둘 다 있다고 생각해서 매우 이상하게 보입니다. 이 오류는 %run myscript.py으로 Qt 콘솔에서 스크립트를 실행할 때 나타납니다. 나는 어제부터 아무런 문제없이 그렇게 해왔다.

Windows 및 Anaconda에서 관리하기가 힘들어서 가상 환경을 사용하지 않습니다. 또한 스크립트를 실행하기 전에 MySQLdb을 콘솔에서 가져올 수 있는지 확인했습니다. 그래서 모듈이 제대로 설치되었음을 압니다.

무슨 일이 일어나는지 파악하려고했는데 조사 도중에 sqlalchemy.connectors 모듈이 누락되었다는 것을 알았지 만 온라인에서도 비슷한 문제를 찾을 수 없기 때문에 실제로 문제가 있는지는 잘 모르겠습니다. . 다음은 내가 그 오류를 얻으려고 한 것입니다 :

from sqlalchemy.dialects import mysql 
ModuleNotFoundError: No module named 'sqlalchemy.connectors' 

누구가 그 문제를 알고 있습니까? 이것이 완전히 파란색으로 보이기 때문에 정말 실망 스럽습니다./

** 방금 다른 드라이버가 작동하는지 (예 : pymysql) 테스트했는데 그렇지 않습니다. 나는 sqlalchemy이 드라이버에 관계없이 방언을 거절하기 때문이라고 생각합니다.

편집 : (최소한 내 컴퓨터에서는 적어도) 2 줄만 필요합니다.

from sqlalchemy import create_engine 
engine = create_engine('mysql://user:[email protected]:3306/db') 

EDIT2 : 나는 그것을 아나콘다 문제로 확인했지만, 그 원인이 무엇인지는 아직 확신 할 수 없습니다.

+0

프로젝트 폴더 'sqlalchemy'에서 이름을 지어 봤습니까? –

+0

@KlausD. 아니, 작은 프로젝트이고 모든 네임 스페이스를 추적했습니다. 방금 체크 한 결과'sqlalchemy'에 정확히 3 개의 멘션이 있으며 이것은 하나의 모듈과'import' 문에 있습니다. 그렇다하더라도'from ... import ... '형식을 사용하고 있으므로'sqlalchemy'가 어떤 네임 스페이스에서도 발견되지 않습니다. – spicypumpkin

+0

의미 : 해당 이름의 파일 또는 폴더가 있습니까? –

답변

0

sqlalchemy의 깨끗한 재설치로 문제가 해결되었습니다. 그게 내가 시도한 첫 번째 것이 아니라고 믿을 수 없다. 그래도 나는 그것이 어떻게 손상되었는지 잘 모른다.

$ conda uninstall sqlalchemy 
$ conda install sqlalchemy 
관련 문제