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

repo example codes failed to run #32

Open
eliranwong opened this issue Jan 7, 2023 · 3 comments
Open

repo example codes failed to run #32

eliranwong opened this issue Jan 7, 2023 · 3 comments

Comments

@eliranwong
Copy link


Note: If you have a usage question (i.e. how to achieve something specific using this library + the CPython C-API) consider posting it to this project's GitHub Discussions board instead of creating an issue. Any question is welcome!


Describe what happened:

your examples code failed to run:

github.com/go-python/cpy3

../../dict.go:141:13: could not determine kind of name for C.PyDict_ClearFreeList

github.com/go-python/cpy3

../../dict.go:141:13: could not determine kind of name for C.PyDict_ClearFreeList

Describe what you expected:

I expect your examples work

Steps to reproduce the issue:

git clone https://github.com/go-python/cpy3.git

cd cpy3/examples/list/

go run main.go

cd ../python3/

go run main.go

@christian-korneck
Copy link
Collaborator

christian-korneck commented Jan 7, 2023

@eliranwong what Python version are you using? This library currently only works with Python 3.7. This error usually happens when trying to use a newer version of Python.

The C.PyDict_ClearFreeList function has been removed from the Python C API with Python 3.9.

It is possible to use newer version of Python if you remove some functions from go-python/cpy3 / datadog/go-python3 (bindings to stuff that has been removed from Python's C-API in newer version). For example, Python 3.8 works if you remove the bindings for PyEval_ReInitThreads, like I did here. More stuff might need to get removed for Python 3.9 and newer.

If you're having trouble installing Python 3.7 on your Linux distro, we have various examples of how to build it from source:

Hope this helps.

@eliranwong
Copy link
Author

oic, I am using python 3.9.2 that comes with Debian 11

@soulteary
Copy link

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

3 participants