Where to set PYTHONIOENCODING=UTF-8?

Hello,

I would like advice on where to set the PYTHONIOENCODING=UTF-8 variable for “the shell”? I have set it as WIndows variable and have set in region settings the “Use UTF-8” for language support in windows, but to no avail. To no avail, meaning that Aeneas will not work:
[WARN] The default input encoding is not UTF-8.
[WARN] You might want to set ‘PYTHONIOENCODING=UTF-8’ in your shell.
[WARN] The default output encoding is not UTF-8.
[WARN] You might want to set ‘PYTHONIOENCODING=UTF-8’ in your shell.
[ERRO] Unable to create file 'C:\Users\1234\Documents!!00 SABuilder

Thanks for your help.
Bart.

When I open a command prompt in Windows, and type chcp I get the result Active code page: 437

I don’t have that checkbox checked and I get the same output as you when I run Check Aeneas.
My Aeneas is working.

They are warnings not errors.

But you are saying your Aeneas does not work.

When I change my Command Prompt specifically to UTF-8 I still get the same report.

  • I opened a command prompt
  • I check the suggested variable is set with set PY and get PYTHONIOENCODING=UTF-8
  • I run chcp 65001 to change the codepage of the shell to UTF-8
  • then reran the last check-aeneas.bat
  • Same result as you get.

If Aeneas is not working for you, I think this is not the issue.

In checking more the check-aeneas.bat sets the variable:

set PYTHONIOENCODING=UTF-8

I think this is a relic of using Python 2 and is not relevant to Python 3. I am getting the Programmers to look at it. If the Command Prompt should be in Unicode then that should be in the Batch file that runs Aeneas and the check-aeneas.bat

I hesitate replying because I don’t have a way to test that this would solve your problem, but if you think setting an environment variable in Windows will solve this, have you tried creating a SYSTEM environment variable? It was unclear to me from your original message if you’ve already done this.

Here’s a few ways to set one:

A SYSTEM environment variable will be present in all shells on the system, not just ones that are run as your user.

Hi Ian, … the fact that aeneas is not working may have to do with the fact that I installed Python 3.7.4 for vscode? Could these two Python versions interfere regarding environment variables?

I deleted the aeneas installation and then re-downloaded it and installed it : https://software.sil.org/downloads/r/scriptureappbuilder/aeneas-windows-setup-1.7.3.0_2.exe

That installation briefly shows the two lines “The system cannot find the path specified”
If I run aeneas_check_setup.bat it produces that same result :

Which is not surprising because C:\Python37-32 was not created …

image

(I did set that in the system environment variables as Chris suggested)

So, finally I concluded that the install file aeneas-windows-setup-1.7.3.0_2.exe does not install python. For the time being, I reverted to 2.7 and now aeneas works as before.

I’m glad you got it working with the aeneas Python 2 installer.

I am still trying to understand what caused your issue.

I have installed aeneas-windows-setup-1.7.3.0_2.exe and it does work fine for me. It did not work for you but that does not make it a failure overall.

But having two Python 3 installations may have been an issue.

I did get side tracked by the warnings and did not pay attention to the last line:

[ERRO] Unable to create file 'C:\Users\1234\Documents!!00 SABuilder

That could be a permissions issue. But that would be unusual for anything in Documents

If I get time I’ll try and reproduce that with two Python installs.

Hi Ian, well spotted. In fact there was a \ after documents, so that was not the problem.

I discovered that unicode characters in poject names are then used as directory names and aeneas does not like these … these become ? in the filename and the synchronisation process fails.