Python Pyserial运行时错误与cx\U冻结

Python Pyserial运行时错误与cx\U冻结,python,raspberry-pi3,cx-freeze,pyserial,Python,Raspberry Pi3,Cx Freeze,Pyserial,我试图在树莓Pi3上使用cx_Freeze生成一个可执行文件。代码编译时没有问题,但我得到一个运行时错误: import serial File "/home/pi/.virtualenvs/cv/local/lib/python2.7/site-packages/serial/__init__.py, line 12 in <module> standard_library.install_aliases() File "/home/pi/.virtualenvs/cv/loc

我试图在树莓Pi3上使用cx_Freeze生成一个可执行文件。代码编译时没有问题,但我得到一个运行时错误:

  import serial
File "/home/pi/.virtualenvs/cv/local/lib/python2.7/site-packages/serial/__init__.py, line 12 in <module> standard_library.install_aliases()
File "/home/pi/.virtualenvs/cv/local/lib/python2.7/site-packages/future/standard_library/__init__.py", line 487, in install_aliases
  from future.moves.test import support
File "/usr/lib/python2.7/test/test_support.py", line 642, in <module>
  character.encode(sys.getfilesystemencoding())\
TypeError: encode() argument 1 must be string, not None
导入序列号
文件“/home/pi/.virtualenvs/cv/local/lib/python2.7/site-packages/serial/\uuuuu-init\uuuuuu.py,标准库第12行。安装别名()
文件“/home/pi/.virtualenvs/cv/local/lib/python2.7/site packages/future/standard_library/_init__.py”,第487行,安装别名
从future.moves.test导入支持
文件“/usr/lib/python2.7/test/test\u support.py”,第642行,在
character.encode(sys.getfilesystemencoding())\
TypeError:encode()参数1必须是字符串,而不是None
从源代码运行时,代码工作正常。错误仅在运行编译版本时显示


有人有什么想法吗?提前谢谢。

问题与
sys.getfilesystemencoding()
返回
None
有关,如下所述:

我尝试了建议的回滚到5.0.2、5.0.1、5.0版本,但这些版本带来了不同的问题

我通过将
/usr/lib/python2.7/test/test\u support.py
第642行上的代码更改为硬编码字符串
character.encode('UTF-8')。decode('UTF-8')

虽然我现在有这个工作,这将是很好的有一个适当的解决方案,如果有人有一个