2015-09-05 73 views
0

我使用OSX 10.9 + Kivy 1.9.1,但我有兩個版本的Python,Mac OSX自包含2.7.5和另一個獨立版本2.7.9安裝。下面是詳細信息:ImportError:Twisted需要zope.interface 3.6.0或更高版本:實際上已經安裝

MacBook-Air:wzy$ python 

Python 2.7.5 (default, Mar 9 2014, 22:15:05) [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin Type "help", "copyright", "credits" or "license" for more information.

MacBook-Air:wzy$ python 

Python 2.7.9 (v2.7.9:648dcafa7e5f, Dec 10 2014, 10:10:46) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information.

具有pip install twisted裝扭曲後,我得到了在kivy與Python 2.7.5,這並不在Python 2.7出現以下錯誤消息。 9

MacBook-Air:wzy$ kivy 
>>> import twisted 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/twisted/__init__.py", line 53, in <module> 
    _checkRequirements() 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/twisted/__init__.py", line 37, in _checkRequirements 
    raise ImportError(required + ": no module named zope.interface.") 
ImportError: Twisted requires zope.interface 3.6.0 or later: no module named zope.interface. 
MacBook-Air:wzy$ python 
>>> import twisted 
>>> exit() 

我甚至幾次安裝了zope.interface,並將安裝目標目錄專用爲kivy環境的sys.path之一。

我確實相信這是兩個版本共存的相關,但我該如何解決這個問題?

回答

2

當你做pip install twisted,要安裝扭一些Python環境,這取決於python可執行你與調用pip。如果您有2.7.5環境和2.7.9環境,則pip install可能會針對每個環境在其他位置放置Twisted,具體取決於您傳遞給pip的其他選項。 (你可能通過一些其他選項pip install因爲沒有權限,默認情況下,pip install只會失敗。你做sudo pip install吧?你這樣做pip install作爲管理員用戶到家釀的Python?)

的正確方法要做到這一點,只能將Twisted安裝到虛擬環境中。您可以使用-p選項創建一個虛擬環境,以virtualenv,該選項告訴它該環境使用哪個Python。然後,在正確的虛擬環境處於活動狀態時,您可以使用pip install twisted,並且所有內容都應按照您的預期運行。

0

感謝雕文,

最後我發現下面簡單的命令可以直接解決這個問題,因爲Kivy用他自己的virtualenv環境,但我不明白你的好心幫。

kivy -m PIP安裝扭曲

最好的祝福送給你,

0

我有同樣的導入錯誤的問題,在這裏提供了另一種可能的解決方案:

我有zope.interface 4.4。 2安裝,事實證明,我的扭曲版本太舊了。通過升級扭曲解決了我的問題。 pip install --upgrade twisted

相關問題