Exception with unicode in stopwords using wordcloud_cli.py

Author: mfortiniCreated May 21, 2018Updated May 24, 2026

Description

Using unicode in stopwords leads to an exception using wordcloud_cli.py

Steps/Code to Reproduce

Using stopwords-it.txt from https://github.com/stopwords-iso/stopwords-it

$ wordcloud_cli.py --stopwords stopwords-it.txt --text text.txt --imagefile wc.png

Expected Results

No error is thrown

Actual Results

Traceback (most recent call last):
  File "/usr/local/bin/wordcloud_cli.py", line 4, in <module>
    __import__('pkg_resources').run_script('wordcloud==1.4.1', 'wordcloud_cli.py')
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 658, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 1438, in run_script
    exec(code, namespace, namespace)
  File "/usr/local/lib/python2.7/dist-packages/wordcloud-1.4.1-py2.7-linux-x86_64.egg/EGG-INFO/scripts/wordcloud_cli.py", line 185, in <module>
    main(*parse_args(sys.argv[1:]))
  File "/usr/local/lib/python2.7/dist-packages/wordcloud-1.4.1-py2.7-linux-x86_64.egg/EGG-INFO/scripts/wordcloud_cli.py", line 164, in parse_args
    args['stopwords'] = set(map(str.strip, f.readlines()))
TypeError: descriptor 'strip' requires a 'str' object but received a 'unicode'

Versions

Linux-4.16.0-x86_64-with-debian-buster-sid ('Python', '2.7.15 (default, May 1 2018, 05:55:50) \n[GCC 7.3.0]') ('NumPy', '1.13.3') ('matplotlib', '2.1.1') ('wordcoud', '1.4.1')