无法从已安装和导入的模块导入类

时间:2017-02-17 17:43:38

标签: python python-3.x

我在Windows上使用Python 3.6,试图安装py_mstr模块,以便我可以与MicroStrategy门户网站进行交互

我通过运行它的“setup.py”下载并安装了该模块,它似乎已正确安装到C:... \ Python36-32 \ Lib \ site-packages

我可以正确导入模块,但是当我尝试导入一个类时,它会返回错误

>>> import py_mstr
>>> from py_mstr import MstrClient
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    from py_mstr import MstrClient
ImportError: cannot import name 'MstrClient'

我检查过,py_mstr肯定包含“MstrClient”类

我挖了一下,发现文件夹结构可能与它有关,但我无法弄清楚

Python35-32
    ...
    site-packages
        ...
        py_mstr
            __init__.py
            py_mstr.py
            _pycahce__
                __init__.cpython-36.pyc
                py_mstr.cpython-36.pyc

1 个答案:

答案 0 :(得分:0)

这个软件包似乎不支持Python 3.您可以使用2to3运行它,但是如果它不起作用,您可能必须在Python 2上运行它。 / p>

导致导入失败的特定Python 3不兼容性是py_mstr/__init__.py使用隐式相对导入来引入py_mstr/py_mstr.py的内容:

from py_mstr import *

Python 3将此解释为从*包导入py_mstr,而不是py_mstr.py_mstr子模块。可能存在其他不兼容性;我没有做彻底的检查。