2014-04-30 11 views
14

Mam skrypt napisany w Pythonie 3 z zainstalowanym 3.3.5 i otrzymuję ten błąd z terminala za każdym razem, gdy próbuję go uruchomić. Używam Mac OSX 10.7.5,ImportError: Brak modułu o numerze seryjnym

już zainstalowany pyserial (przy użyciu pip) dla Pythona 3. W tym celu, po raz pierwszy zainstalowany pip przy użyciu:

$ curl -O http://python-distribute.org/distribute_setup.py 
$ sudo python3 distribute_setup.py 
$ curl -O https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py 
$ sudo python3 get-pip.py 

I wtedy zainstalowane pyserial z:

$sudo pip3 install pyserial 

uruchomić skrypt Pythona Launcher i pojawia się błąd:

ImportError: No module named serial 

Błąd jest w wierszu, który mówi

import serial 

I znajduje pyserial w /Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages. Jestem naprawdę zakłopotany i nie mam pojęcia, dlaczego otrzymuję ten błąd.

Próbowałem w Terminalu:

$ python3 
>>> import serial 
>>> serial 
<module 'serial' from '/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/serial/__init__.py'> 

Dla mnie to wygląda jak nie ma problemu z katalogu. Czy to słuszne założenie, skoro Python natychmiast przegląda ten katalog, gdy próbuję go z wiersza poleceń, czy jest inaczej, gdy uruchamiam skrypt?

Jestem bardzo nowy w tym wszystkim, więc wszelka pomoc i cierpliwość byłyby ogromnie doceniane.

Dzięki.

EDYCJA: Dla każdego, kto ma podobny problem, nie naprawiłem go tak naprawdę , uruchamiając program zaćmienia za pomocą wtyczki PyDev. Jeśli to opcja dla ciebie, pracował dla mnie jak urok.

+0

Czy można wykonać 'pip3 list' i wkleić tutaj wynik? Czy jest ustawiona opcja 'PYTHONPATH'? – Trein

+0

@Trein lista pip3 daje mi następujące: "rozpowszechnianie (0.6.49) pip (1.5.4) pyserial (2.7) setuptools (3.4.4)" Nie jestem pewien, co robię , ale próbowałem ustawić PYTHONPATH za pomocą samouczka, który znalazłem. Oto co zrobiłem: eksport PYTHONPATH = $ PYTHONPATH: /Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/pakiety lokacji To jednak nie naprawiło. Mam wrażenie, że nie jest to zbyt skomplikowany problem, ale daje mi ogromny ból głowy. Dzięki! – user3587244

+0

Wszystko wydaje się być poprawne. Moje ostatnie przypuszczenie jest takie, że 'Python Launcher' używa niepoprawnego interpretera (może używa Pythona 2.7). Przejdź do preferencji i sprawdź to. – Trein

Odpowiedz

1

najpierw użyć dwóch poleceń (który pip & który pyton), aby uzyskać dokładną ścieżkę Python i pip poleceń. Po tym czasie będziesz mógł dokładnie określić problem.

+0

/Library/Frameworks/Python.framework/Versions/3.3/bin/pip który pyton daje mi python 2.7, ale uruchamiam go za pomocą programu uruchamiającego pythona 3. Czy to może być problem? – user3587244

+0

Nie jestem pewien, ale może to być problem. Spróbuj użyć ścieżki względnej dla polecenia Pythona, aby odebrał python 3.x. Zamiast używać ** python ** powinieneś użyć **/xyzpath_for_python3.x/python ** – Shrey

11

Na moim ubuntu 14,4 z Pythonem 2.7 jak Domyślnie po zainstalowaniu pyserial dla python3 (co moim IDE korzysta faktycznie) za pomocą następującego polecenia:

sudo apt-get install python3-serial 
1

dla mnie, problem został rozwiązany poprzez uruchomienie skrypt importujący serial w kontekście użytkownika (nie administracyjnego). Windows, nie Mac, więc YMMV.

Powiązane problemy