Windows 7 컴퓨터에 Python 2.4.4 및 3.1.3이 있습니다. PySerial을 사용하고 싶습니다.PySerial 및 여러 개의 Python 설치에 문제가 발생했습니다.
제가 내장되어 있다고 들었으므로 두 버전 모두에서 import serial
을 시도했습니다. 두 경우 모두 Import Error
이 발생했습니다.
그런 다음 this page에서 win32 설치 프로그램을 다운로드했습니다. 나는 그것을 달리고 2.4.4를 위해 그것을 설치했다. (그것은 레지스트리에서 찾았다 고 말했습니다.) 3.1.1 버전으로 변경할 옵션이 없었습니다.
나는 다음 2.4.4에서 다음과 같은 오류가 발생했습니다 :>>> import serial
Traceback (most recent call last):
File "<pyshell#0>", line 1, in -toplevel-
import serial
File "C:\Python24\Lib\site-packages\serial\__init__.py", line 19, in -toplevel-
from serialwin32 import *
File "C:\Python24\Lib\site-packages\serial\serialwin32.py", line 11, in -toplevel-
import ctypes
ImportError: No module named ctypes
내가 ctypes
을보고, 그것이 2.5.5 이후의 bulit 된 것을 알 수 있습니다. 승인.
ctypes
을 다운로드하고 python setup.py install
을 실행하십시오.
C:\path\to\ctypes-1.0.2>python setup.py install
running install
running build
running build_py
running build_ext
error: Python was built with Visual Studio 2003;
extensions must be built with a compiler than can generate compatible binaries.
Visual Studio 2003 was not found on this system. If you have Cygwin installed,
you can try compiling with MingW32, by passing "-c mingw32" to setup.py.
달콤한 : (. 2.4.4)
나는 다음과 같은 얻을. 승인. 너무 많은 노력을하는 것 같아서 파이썬 3.1.1을 사용하고 싶습니다. C:\Python24
대신 C:\Python31\
을 포함하도록 PATH 환경 변수를 편집합니다.
나는 cmd를 다시 시작하고 pyserial에 python setup.py install
을 실행
C:\path\to\pyserial-2.5>python setup.py install
running install
running build
running build_py
running build_scripts
running install_lib
running install_scripts
C:\path\to\pyserial-2.5>
흥미 롭. 그런 다음 import serial
을 IDLE의 Python 3.1.1에서 시도하지만 표준 ImportError
을 얻습니다. 흠.
여기에 무슨 일이 일어나고 있습니까? 내가 뭔가 잘못하고 있는거야?
업데이트 : 나는 3.1.1를 사용 setup.py install
를 실행하려고 : 나는이 pyserial의 잘못된 버전을 사용하고 같은
c:\path\to\pyserial-2.5>c:\python31\python.exe setup.py install
running install
running build
running build_py
running build_scripts
creating build\scripts-3.1
copying and adjusting examples\miniterm.py -> build\scripts-3.1
running install_lib
creating c:\python31\Lib\site-packages\serial
copying build\lib\serial\loopback_connection.py -> c:\python31\Lib\site-packages
\serial
copying build\lib\serial\rfc2217.py -> c:\python31\Lib\site-packages\serial
copying build\lib\serial\serialcli.py -> c:\python31\Lib\site-packages\serial
copying build\lib\serial\serialjava.py -> c:\python31\Lib\site-packages\serial
copying build\lib\serial\serialposix.py -> c:\python31\Lib\site-packages\serial
copying build\lib\serial\serialutil.py -> c:\python31\Lib\site-packages\serial
copying build\lib\serial\serialwin32.py -> c:\python31\Lib\site-packages\serial
copying build\lib\serial\sermsdos.py -> c:\python31\Lib\site-packages\serial
copying build\lib\serial\socket_connection.py -> c:\python31\Lib\site-packages\s
erial
copying build\lib\serial\win32.py -> c:\python31\Lib\site-packages\serial
copying build\lib\serial\__init__.py -> c:\python31\Lib\site-packages\serial
byte-compiling c:\python31\Lib\site-packages\serial\loopback_connection.py to lo
opback_connection.pyc
File "c:\python31\Lib\site-packages\serial\loopback_connection.py", line 101
except ValueError, e:
^
SyntaxError: invalid syntax
byte-compiling c:\python31\Lib\site-packages\serial\rfc2217.py to rfc2217.pyc
File "c:\python31\Lib\site-packages\serial\rfc2217.py", line 370
except Exception, msg:
^
SyntaxError: invalid syntax
byte-compiling c:\python31\Lib\site-packages\serial\serialcli.py to serialcli.py
c
File "c:\python31\Lib\site-packages\serial\serialcli.py", line 39
except Exception, msg:
^
SyntaxError: invalid syntax
byte-compiling c:\python31\Lib\site-packages\serial\serialjava.py to serialjava.
pyc
File "c:\python31\Lib\site-packages\serial\serialjava.py", line 67
except Exception, msg:
^
SyntaxError: invalid syntax
byte-compiling c:\python31\Lib\site-packages\serial\serialposix.py to serialposi
x.pyc
File "c:\python31\Lib\site-packages\serial\serialposix.py", line 64
50: 0000001,
^
SyntaxError: invalid token
byte-compiling c:\python31\Lib\site-packages\serial\serialutil.py to serialutil.
pyc
File "c:\python31\Lib\site-packages\serial\serialutil.py", line 510
except TypeError, err:
^
SyntaxError: invalid syntax
byte-compiling c:\python31\Lib\site-packages\serial\serialwin32.py to serialwin3
2.pyc
byte-compiling c:\python31\Lib\site-packages\serial\sermsdos.py to sermsdos.pyc
byte-compiling c:\python31\Lib\site-packages\serial\socket_connection.py to sock
et_connection.pyc
File "c:\python31\Lib\site-packages\serial\socket_connection.py", line 49
except Exception, msg:
^
SyntaxError: invalid syntax
byte-compiling c:\python31\Lib\site-packages\serial\win32.py to win32.pyc
File "c:\python31\Lib\site-packages\serial\win32.py", line 164
MAXDWORD = 4294967295L # Variable c_uint
^
SyntaxError: invalid syntax
byte-compiling c:\python31\Lib\site-packages\serial\__init__.py to __init__.pyc
running install_scripts
creating c:\python31\Scripts
copying build\scripts-3.1\miniterm.py -> c:\python31\Scripts
running install_egg_info
Writing c:\python31\Lib\site-packages\pyserial_py3k-2.5-py3.1.egg-info
c:\path\to\pyserial-2.5>
흠 ... 보인다. This download page은 2.5가 가장 최신 인 것처럼 보입니다. 이상한.
업데이트 2 : 모든 구문 오류가 수정되었지만 가져 오기 오류가 발생하기 시작했습니다. '
>>> import serial
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
import serial
File "C:\Python31\lib\site-packages\serial\__init__.py", line 19, in <module>
from .serialwin32 import *
File "C:\Python31\lib\site-packages\serial\serialwin32.py", line 12, in <module>
import win32
ImportError: No module named win32
나는
.modulename
구문을하고 시도
하지만 같으면 :
if os.name == 'nt': #sys.platform == 'win32':
from serialwin32 import *
elif os.name == 'posix':
from serialposix import *
elif os.name == 'java':
from serialjava import *
에 :
if os.name == 'nt': #sys.platform == 'win32':
from .serialwin32 import *
elif os.name == 'posix':
from .serialposix import *
elif os.name == 'java':
from .serialjava import *
지금은 serialwin32.py
에서 오류를 받고 있어요 __init__.py
, 나는 변경 t 컴파일.
그 밖의 다른 조치는 무엇입니까? 누구든지이 코드가 파이썬 3에서 실행되도록 의도했다는 것을 믿기가 힘듭니다. (아마도 잘못된 버전이 있습니까?)
내가 작업하고있는 프로젝트에 필요하므로 2.4를 사용하고 있습니다. 어떻게 명령 프롬프트에서'python'과'python3'을 가질 수 있습니까? –
또한 'PYTHONPATH'라고 말하면 정확히 무엇을 말하고 있습니까? Windows 제어판에서 설정 한 경로 환경 변수를 참조하고 있는데, 명령 프롬프트가 명령을 찾는 위치를 결정합니다 (맞습니까?). 2.4 대신에 3.1을 포함하도록'path'를 변경한다면, 두 번째 코드 행과 같은 일을하는 것이 아닙니까? –
python3.1.x를 설치할 때 이름이 python3 인 이진 파일을 설치 했어야합니다. 찾아보아야합니다. 좋아, 당신은 윈도우 PATH를 의미했는데, 나는 파이썬 인터프리터의 경로를 바꾸고 있다는 것을 이해했다. 아마도 파이썬 2.x (여전히 통역사에 속함으로 확인할 수 있음)를 언급하고있을 것입니다. 그러나 방법은 전체 경로를 사용하는 것입니다. 'C : \ Python31 \ python3.exe' –