2012-06-13 13 views
10

próbuję uruchomić serwer dla iPhone przy użyciu http://www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-serverImportError: No module o nazwie zope.interface

moim komputerze jest wersja Mac 10.6.8 Python: 2.7.3 nie mam żadnej wiedzy na temat Pythona. Mam zainstalowanego Twisted-12.1.0 dodatkowo, ale nadal otrzymuję ten błąd.

Traceback (najnowsza wezwanie ostatni): Plik "chatserver.py", wiersz 1, w od importu twisted.internet.protocol protokołu, Fabryka Plik „/Library/Frameworks/Python.framework/Versions/2.7 /lib/python2.7/site-packages/twisted/internet/protocol.py”, linia 15, w z importu zope.interface realizuje ImportError: No module o nazwie zope.interface

później Pobrałem zope. app.wsgi-3.15.0 4 ale nie wiem jak z niego korzystać.

Odpowiedz

3

W górnej części mojej głowy możesz użyć easy_install.

Będziesz potrzebował python-setuptools to powinieneś być w stanie korzystać

easy_install zope.interface 

Jeśli dobrze pamiętam jednak skręcone powinien być zainstalowany jako część OS X Python zainstalować. Zrób szybkie Google do instalowania zope.interface dla Mac OS X. Skręcona jest tak szeroko używaną biblioteką, że jest tam mnóstwo informacji.

+0

ta nie działa dla mnie. Jest więcej rzeczy, które mogą mieć związek ze ścieżką użytkowników. – jml

+0

Dzięki, uratowałeś mnie przed zamianą z wersji Python 2.7.3 na 2.7.0! – thax

6

Oto solution

Mówi, że instalując moduł zope przez pip przerywa instalację zope ponieważ pip instaluje go w innym katalogu innego niż oryginalny katalogu modułu zope.

z linku

After install a zope module using pip, for example z3c.password your zope installation gets broken.

This is because pip have installed the module in /usr/local/lib/python2.6/dist-packages/zope and the original module zope.interface is in /usr/share/pyshared/zope/interface/ and has minor relevance when importing.

Co pracował dla mnie jest (również podany w linku):

cd /usr/local/lib/python2.7/dist-packages/zope 
sudo ln -s /usr/share/pyshared/zope/interface/ 
+0

To zasługuje na akceptację – aitchnyu

+0

Potwierdzenie tego działa. Po prostu zlokalizuj miejsce, w którym pakiet python-zope.interface zainstalował folder zope/interface i ln -s do niego – gnarbarian

9

Problemem jest to, że plik __init__.py nie występuje w katalogu zope więc tym katalogu nie jest skanowany pod kątem importu.

Utworzenie pustego pliku __init__.py pod katalogiem zope będzie działać.

mogę rozwiązać ten błąd w systemie UNIX, przeglądając do katalogu zope wykonując:

$touch __init__.py 

mogę potwierdzić, że to działa również z instalacją pip virtualenv interfejsu zope

+1

To i tylko to rozwiązało dla mnie błąd "import zope.interface ImportError: No module named interface". Nigdy nie byłbym w stanie odcyfrować tego poza stosami. Jest również rozwiązaniem na Linuksie. Rewizja. – user3469861

+0

Myślenie python3 usunęło pliki __init__. – sureshvv

Powiązane problemy