UnicodeEncodeError:' mbcs'编解码器不能编码位置0-1的字符:运行PyInstaller编译的脚本时无效的字符

时间:2015-10-16 15:04:29

标签: python python-3.x pyinstaller

我刚刚完成了一个我一直在努力的程序,并且一直想把它编译成单个.exe文件进行分发。我决定使用pyinstaller 3,因为它对我有用,但是在成功编译我的文件后,我在运行程序时得到以下消息。

random.shuffle(x[, random])

如果有帮助,这是我程序的最小代码示例:

C:\Users\Luke\Documents\program\dist>viewbot.exe
_ctypes
C:\Users\Luke\AppData\Local\Temp\_MEI59042\_ctypes.pyd
_tkinter
C:\Users\Luke\AppData\Local\Temp\_MEI59042\_tkinter.pyd
Traceback (most recent call last):
  File "<string>", line 7, in <module>
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1532, in _find_and_load_unlocked
  File "C:\Users\Luke\Documents\program\PyInstaller\loader\pyi_importers.py", line 302, in load_module
  File "C:\Python33\lib\tkinter\__init__.py", line 40, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1532, in _find_and_load_unlocked
  File "C:\Users\Luke\Documents\program\PyInstaller\loader\pyi_importers.py", line 474, in load_module
UnicodeEncodeError: 'mbcs' codec can't encode characters in position 0--1: invalid character

不太确定该怎么做,所以任何帮助都会非常感激:)

2 个答案:

答案 0 :(得分:1)

我有同样的错误消息。我通过在包含要打开的文件路径的字符串中替换\ by \\来修复它。

答案 1 :(得分:0)

我认为另一种明智的方法是将pd.read_csvopen函数结合在一起。例如,如果我有一个名为Ürümqi Diwopu International Airport.csv的csv文件,则可以使用以下代码:

import pandas as pd

dataframe = pd.read_csv(open(os.path.join(datapath, "Ürümqi Diwopu International Airport.csv"), 'r', encoding='utf-8'), index_col=0)

希望这会有所帮助〜