不能在本地包中使用pandas

时间:2017-10-24 14:01:03

标签: python python-3.x pandas packages

我一直在研究pyodbc包的小包装器。它并不多,只是为了简化我经常使用的特定数据库的语法。

结构如下

sql

   sqlFunc
        __init__.py
        sqlLoad.py
   setup.py

包的名称是sqlFunc。

在sql加载中它只有一个名为Connect的简单类来保存游标和一些函数以各种格式从数据库返回数据。我想将返回作为pandas数据帧的一部分添加到此中。但是,无论何时我在sqlLoad中包含pandas并将其包含在setup.py文件的install_requires部分中,我都无法在调用包时找到该类。 sqlFunc.Connect()只是给出了一个错误,但我可以导入sqlFunc

当我进入一个新模块并导入sqlFunc并尝试运行sqlFunc.Connect()时,它说它无法找到它并且如果我去print(dir(sqlFunc))则不会出现 但是,如果我使用pycharm的python控制台部分很奇怪,它确实有用,如果我删除所有对pandas的引用它也可以。

我的班级连接看起来像

class Connect:
    def __init__(self, server, username, pwd):
        connection = pyodbc.connect(...)
        self._cursor = connection.cursor()
    def execute_dataframe(self, query):
        self._cursor.execute(query)
        return pd.DataFrame(self._cursor.fetchall())

...包含一些公司特定的信息,但我只是设置服务器,驱动程序,用户名,密码以及连接是否可信。

我的 init .py是

from sqlFunc import sqlLoad
from sqlFunc.sqlLoad import Connect

我的setup.py是 来自setuptools导入设置

  setup(name='sqlFunc',
        version='0.2',
        packages=['sqlFunc'],
        install_requires=["pyodbc", "pandas", ],
        zip_safe=False)

0 个答案:

没有答案