JuliaPy / JuliaPy/PythonCall.jl

print versus println to stdout

Open
#290 7 comments 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
1.1k
Forks
86
Avg merge
1d 22h
Merged PRs (30d)
3

Description

In transitioning from PyCall.jl, I was just trying to confirm that the stdout forwarding worked similarly and came across an example I found puzzling.

```
@py begin
import numpy as np
a = np.zeros(10)
println(a)
end
```

Completes and prints as normal

```
@py begin
import numpy as np
a = np.zeros(10)
print(a)
end
```

Fails and gives the error "Python: TypeError: memoryview: a bytes-like object is required, not 'str'".

I am just trying to reproduce the functionality I had before with py_str and using the `pyimport("sys")."stdout" = PyTextIO(stdout)`. My concern is that sometimes I want to import and run python packages that are doing print and not println and would like that to work without me having to edit them. Is this expected behavior or have I done something wrong/there is a better way to be going about this?

```
Julia Version 1.8.2
Commit 36034abf260 (2022-09-29 15:21 UTC)
Platform Info:
OS: Linux (x86_64-linux-gnu)
[6099a3de] PythonCall v0.9.12
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.