我做了一些研究,但在网上找不到相关主题,这就是我在这里发布问题的原因。
问题如下:我写了一个Python3代码,它在我的MacBook上完美运行,但在我正在使用的集群上没有做同样的事情。它总是抛出UnicodeEncodeError
与此处所示完全相同的点:
Traceback (most recent call last):
File "B_main.py", line 8, in <module>
import D_fuzzy_matching
File "/home/firmdata/name/python/D_fuzzy_matching.py", line 105, in <module>
df2[cols_to_keep].to_csv(folder4 + 'fuzzy_matches/' + item[:-1].lower() + '.txt', index=False, header=False)
File "/home/firmdata/name/python/myvenv/lib/python3.6/site-packages/pandas/core/frame.py", line 1745, in to_csv
formatter.save()
File "/home/firmdata/name/python/myvenv/lib/python3.6/site-packages/pandas/io/formats/csvs.py", line 165, in save
compression=self.compression)
File "/home/firmdata/name/python/myvenv/lib/python3.6/site-packages/pandas/io/common.py", line 400, in _get_handle
f = open(path_or_buf, mode, encoding=encoding)
我的Python3代码中的相应行是:
df2[cols_to_keep].to_csv(folder4 + 'fuzzy_matches/' + item[:-1].lower() + '.txt', index=False, header=False)
我已经检查过,pip on cluster包含与本地桌面上的pip完全相同的库。而且,我在桌面上使用的Python版本是
Python 3.6.4
而在群集上
Python 3.6.2
可用。
我可以提供的另一个信息是,为了根据我的需要设置一个可用的Python环境,我指的是虚拟环境,因为否则我无法通过pip安装库。
如果有人能给我一些关于我做错了什么的提示,我将非常感激。)
提前致谢!
答案 0 :(得分:0)
如果群集是* unix机器,您可以尝试最简单的方法来生成您可能正在使用的所有UTF语言环境。
您可以查看当前启用的内容: locale -a
要添加更多区域设置,您可以使用: sudo locale-gen en_US sudo locale-gen en_US.UTF8 sudo update-locale
或者以更Ubuntu的方式: sudo apt-get install language-pack-(XX)