我刚刚完成了一个我一直在努力的程序,并且一直想把它编译成单个.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
不太确定该怎么做,所以任何帮助都会非常感激:)
答案 0 :(得分:1)
我有同样的错误消息。我通过在包含要打开的文件路径的字符串中替换\ by \\来修复它。
答案 1 :(得分:0)
我认为另一种明智的方法是将pd.read_csv
与open
函数结合在一起。例如,如果我有一个名为Ü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)
希望这会有所帮助〜