Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UnicodeEncodeError: 'charmap' codec can't encode characters in position 83853-83854 #25

Closed
lborgman opened this issue Jan 29, 2021 · 13 comments

Comments

@lborgman
Copy link

Using stickytape on my example in issue #20 now works excellent in the Ubuntu subsystem (20-21) on Windows 10.

However if I try to use the python file produced there directly in Window 10 (cmd shell) I get the error in the subject line.

@mwilliamson
Copy link
Owner

Could you provide the entire stack trace for the error?

@lborgman
Copy link
Author

I could not redirect the python output in cmd.exe for some strange reason. This is from PowerShell instead. I think it is the same. (2>&1)

temp.txt

@mwilliamson
Copy link
Owner

Looks like an encoding issue when the modules get written out. I've just uploaded 0.2.1, which hopefully fixes the issue.

@lborgman
Copy link
Author

Thanks, but I still get the same error. As before it works in the Ubuntu subsystem, but when testing the same output file in Windows cmd shell I still get the UnicodeEncodeError.

The traceback in cmd shell is exactly the same as before.

@mwilliamson
Copy link
Owner

Are you sure you're using the latest version of stickytape? The stack trace you posted before showed an encoding error when writing the contents of the module, but the contents of the module should now be byte strings (and therefore encoding shouldn't be a concern). Could you post the output generated by stickytape?

@mwilliamson
Copy link
Owner

If the stack trace is exactly the same, then I don't think you've generated the output file using the latest version of stickytape, since the contents argument should be a byte string, whereas the stack trace shows the argument being a (Unicode) string.

@lborgman
Copy link
Author

I was just going to say I am not sure about that. I might have made some mistake when upgrading since I am not used to python. However I can't find any version info (except from "pip install stickytape").

I normally expect version info from something like "stickytape --version". And I also expect it in the stickytape output file.

Could you perhaps add such info?

@mwilliamson
Copy link
Owner

From the docs for pip install:

Note that pip install prefers to leave the installed version as-is unless --upgrade is specified.

So if you already have stickytape installed, you'll need to pass --upgrade to install the latest version.

@lborgman
Copy link
Author

Thanks, yes I know that. And I have the latest version installed. However I do not know exactly how old versions are handled. Maybe they are still around?

Hm, I just checked with "sudo python -m pip list" vs "python -m pip list". The old version is still there in the second case. (It should be very good if I could get the version directly from stickytape.)

@lborgman
Copy link
Author

Ah, the output file (produced in Ubuntu subsystem) works in cmd shell!

(I did "python -m pip uninstall stickytape". And exited the Ubuntu subsystem and entered it again.)

@lborgman
Copy link
Author

It also works now to do everything in Windows 10 cmd shell.

@lborgman
Copy link
Author

lborgman commented Jan 30, 2021

And the output file made in cmd shell works in the Ubuntu subsystem.

Many thanks for fixing this.

@mwilliamson
Copy link
Owner

I'm glad you got it working.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants