我知道这篇文章Connecting to Vertica database using SQLAlchemy
已经回答了这个问题但是发布的答案并没有解决我的目的
这就是我正在做的事情
import sqlalchemy as sa
import pymysql
import pyodbc
import pandas.io.sql as psql
import sqlalchemy_vertica
engine=sa.create_engine(sa.engine.url.URL(
drivername='python+vertica',
username='xxx',
password='xxx',
host='production-xxx-cluster-with-failoverxxx',
database='xxxx',
))
连接到vertica没有问题,因为我可以通过pyodbc连接。同样在Connecting to Vertica database using SQLAlchemy中的答案说这只适用于Unix ODBC。我在mac环境中并正确安装了mac ODBC驱动程序。我得到的错误是:
/Users/sushmit.roy/anaconda/lib/python2.7/site-packages/sqlalchemy/engine/url.pyc in get_dialect(self)
115 if '+' not in self.drivername:
116 return self.get_dialect().driver
--> 117 else:
118 return self.drivername.split('+')[1]
119
/Users/sushmit.roy/anaconda/lib/python2.7/site-packages/sqlalchemy/util/langhelpers.pyc in load(self, name)
192 raise exc.NoSuchModuleError(
193 "Can't load plugin: %s:%s" %
--> 194 (self.group, name))
195
196 def register(self, name, modulepath, objname):
NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:python.vertica
我怀疑这是一个安装问题,因为它无法找到所需的包。有人可以帮我分一杯这个吗?
另外提供更多信息我使用的是anaconda Python2.7.9版本,我的所有软件包都已更新。我可以在所需的文件夹中看到sqlalchemy和sqlalchemy_vertica包(即)//Users/sushmit.roy/anaconda/lib/python2.7/site-packages