pablogsal / black-pycharm

Pycharm plugin for https://github.com/ambv/black
32 stars 11 forks source link

Plugin fails with click RuntimeError #2

Open dmfigol opened 6 years ago

dmfigol commented 6 years ago

I am running PyCharm on macOS and the plugin fails due to click failure. Environmental variables LC_ALL and LANG are set for my user, but I don't think PyCharm uses my user for plugins.

BlackPycharm:
Traceback (most recent call last):
File "/usr/local/bin/black", line 11, in   sys.exit(main())
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 722, in __call__ return self.main(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 676, in main _verify_python3_env()
File "/usr/local/lib/python3.6/site-packages/click/_unicodefun.py", line 118, in _verify_python3_env 'for mitigation steps.' + extra)
RuntimeError: Click will abort further execution because Python 3 was configured to use ASCII as encoding for the environment. Consult http://click.pocoo.org/python3/for mitigation steps.
This system lists a couple of UTF-8 supporting locales that you can pick from.
The following suitable locales where discovered:
af_ZA.UTF-8, am_ET.UTF-8, be_BY.UTF-8, bg_BG.UTF-8, ca_ES.UTF-8, cs_CZ.UTF-8, da_DK.UTF-8, de_AT.UTF-8, de_CH.UTF-8, de_DE.UTF-8, el_GR.UTF-8, en_AU.UTF-8, en_CA.UTF-8, en_GB.UTF-8, en_IE.UTF-8, en_NZ.UTF-8, en_US.UTF-8, es_ES.UTF-8, et_EE.UTF-8, eu_ES.UTF-8, fi_FI.UTF-8, fr_BE.UTF-8, fr_CA.UTF-8, fr_CH.UTF-8, fr_FR.UTF-8, he_IL.UTF-8, hr_HR.UTF-8, hu_HU.UTF-8, hy_AM.UTF-8, is_IS.UTF-8, it_CH.UTF-8, it_IT.UTF-8, ja_JP.UTF-8, kk_KZ.UTF-8, ko_KR.UTF-8, lt_LT.UTF-8, nl_BE.UTF-8, nl_NL.UTF-8, no_NO.UTF-8, pl_PL.UTF-8, pt_BR.UTF-8, pt_PT.UTF-8, ro_RO.UTF-8, ru_RU.UTF-8, sk_SK.UTF-8, sl_SI.UTF-8, sr_YU.UTF-8, sv_SE.UTF-8, tr_TR.UTF-8, uk_UA.UTF-8, zh_CN.UTF-8, zh_HK.UTF-8, zh_TW.UTF-8

The plugin was working fine before (not sure if it was affected by pycharm, plugin itself or black update)

saschalalala commented 6 years ago

Excactly the same error for me, also using macOS.

eyesee1 commented 6 years ago

I have a workaround here:

create a file /usr/local/bin/black_x.sh

#!/usr/bin/env bash

export LANG='en_us.UTF-8'
/usr/local/bin/black $@

give that a chmod +x /usr/local/bin/black_x.sh

then in PyCharm Preferences | Tools | BlackPycharm Configuration, set the path to /usr/local/bin/black_x.sh

It's ugly but it works.

dmfigol commented 6 years ago

As a workaround I manually configured an external tool in PyCharm manually and assigned a hot key.

image
pablogsal commented 6 years ago

I am investigating, but I need to understand why Pycharm is not propagating the locale to the subprocess invocation.

pablogsal commented 6 years ago

Thank you all for your patience!

RaphaelKimmig commented 6 years ago

Any news here? Is there anything we can do to help?