2017-02-17 64 views
0

我使用Python 3.6在Windows上導入類,試圖讓安裝這樣我就可以用的MicroStrategy Web門戶無法從安裝有進口模塊

我下載的互動py_mstr模塊並通過運行安裝在模塊它是「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 definit伊利包含類「MstrClient」

我挖了一圈,發現該文件夾結構可能有一些用它做,但我不能弄清楚

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

在py-mstr/__ init__.py或py-msgr/py_mstr.py中定義的文件是MstrClient定義的類。順便說一下,這兩個都是正確的嗎? –

+0

文件夾名稱應該是py_mstr,我只是在編輯中修復它。 – fudge

+0

好吧,但是,你的班級確實是在\ _ \ _init \ _ \ _。py中定義的嗎? –

回答

0

這個包好像不支持Python 3.你也許可以用2to3來運行它,但如果這樣做不行的話,你可能需要在Python 2上運行它。

具體的Python 3不兼容導致您的導入失敗是py_mstr/__init__.py使用隱式的相對進口在py_mstr/py_mstr.py內容帶來:

from py_mstr import * 

Python 3裏將此解釋爲從py_mstr包導入*,而不是py_mstr.py_mstr子模塊。可能還有其他不兼容性;我沒有做徹底的檢查。

+0

我明白了。我會用2.7來試試它,看它是否更好。 – fudge