2013-01-01 4 views
16

파이썬 2.7.2를 사용하여 우분투 상자에 최신 pySerial을 설치했으며 대부분의 경우 잘 작동하지만 '도구'패키지를 가져올 때마다 '도구'를 찾지 못한다. documentation for pySerial은이 '도구'패키지를 명시 적으로 참조합니다.pyserial : 모듈 이름이없는 도구

>>> from serial import tools 
Traceback (most recent call last): 
    File "<pyshell#30>", line 1, in <module> 
    import serial.tools 
ImportError: No module named tools 

때 I : 최신 버전 Source Forge

왜 내가 pySerial의 '도구'패키지를 얻을 수에 따라입니다

>>> serial.VERSION 
'2.5' 

? 예를 들어

from serials import tools 

:

+0

글쎄, 당황 스럽네! dir()은 하위 패키지를 나열하지 않으므로이 패키지가 있었더라도 가져 오기를 시도하는 것만 알 수 있습니다. 좋은 소식은 질문을 가져올 때 오류가 발생하기 때문에 질문이 유효하다는 것입니다. – charmoniumQ

답변

19

pip을 사용하여 pyserial을 설치하십시오. 그 pyserial를 설치 한 후

sudo apt-get install python-pip 

: 먼저 주사위를 설치 저도 같은 문제가 있었기 때문에

sudo pip install pyserial 
+7

아마도 당신이 나를 위해'sudo pip 설치 pyserial - 업그레이드 ' – charmoniumQ

+0

굉장, 고마워! 나는이 대답을보기 전에 모든 것을 시도했다. –

+0

Windows와 동일한 작업을 수행 할 수있는 방법이 있습니까? 감사. –

-1

당신은이 방법으로 모듈의 함수를 호출해야 내가 math 모듈에서 sqrt 함수를 호출 할 경우에, 나는 할 것이다 :

from math import sqrt 

import math.sqrt **is wrong.** 
+0

도구는 함수가 아니며 패키지이며 샘이 시도 할 때 가져올 수 있습니다. 패키지에는 모듈과 빈'__init __. py '만 포함되어 있기 때문에 더 많은 것을 가져 오기 위해 가져와야합니다. 절대 우분투 패키지가 업스트림과 일치하는 한 예외가 발생하지 않고 결코 성공하지 못합니다 (내 대답 참조) – SingleNegationElimination

+0

pip를 사용하여 pyserial을 설치하십시오. 먼저 python pip를 설치하십시오 : sudo apt-get python-pip를 설치 한 다음 pyserial을 설치하십시오 : sudo pip pyserial – user1881957

1

그것은처럼 보인다 우분투 패키지는 업스트림과 완전히 일치하지 않습니다. 자신의 SVN에 공식 pySerial 패키지를 비교 : 우분투 패키지

http://pyserial.svn.sourceforge.net/viewvc/pyserial/trunk/pyserial/serial/

를 런치 패드에서 :

http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/raring/pyserial/raring/files/head:/serial/

도구가없는, 너무. 그들은 마치 miniterm.py 스크립트를 유지하고 어딘가에 설치하는 것처럼 보입니다. 나는 어디에서, 이해하기 위해 deb 꾸러미에 충분히 정통하지 않다.

+0

우분투 저장소 버전을 제거하고 그 위치에 업스트림 sourceforge를 설치하는 방법에 대해 좀 더 자세히 설명해 주시겠습니까? 번역? – charmoniumQ

1

내가 여기 있어요. 이상한 것은

import serial 

는 일이었다, 그러나

from serial.tools import list_ports 

하지 않았다.

"serial.py"스크립트라는 stupid me가 나타납니다. 이름을 변경 한 후에 모든 것이 효과가있었습니다.

0

예, 사용 파이썬 - 핍 ,,, 다음 ,,, ,,, 일련의 버전이 2.7이 될 것이다 업그레이드 ... 그것은

0

그냥 경우에 일을 "--upgrade 설치 PIP"고 workes 설치를 리눅스에서 당신은 /usr/lib/python2.7/dist-packages에 시리얼 패키지가 있는지 확인할 수있다. 새로운 시리얼 패키지는 /usr/**local**/lib/python2.7/dist-packages/serial에 설치된다. usr/lib/python2.7/에있는 우선 순위와 모듈이있다. 도구는 해당 버전의 pyserial에는 존재하지 않습니다. 이름을 변경하거나 디렉토리를 삭제하면 문제가 해결됩니다.

1

site-packages 폴더의 pyserial-2.4-py2.7.egg가 site-packages 폴더의 serial 대신 가져 오기로 가져오고있었습니다. 일단이 파일의 이름을 변경하여 더 이상이 파일을 가져 오지 않으면 정상적으로 작동합니다.

import serial 
serial._ _path_ _ 

어디에서 시리얼을 가져올 지 쉽게 확인할 수 있습니다.