matplotlib / basemap

Plot on map projections (with coastlines and political boundaries) using matplotlib
MIT License
775 stars 392 forks source link

exc_type, exc_value and exc_traceback do not exist #487

Closed kinglionsz closed 2 years ago

kinglionsz commented 4 years ago

python setup.py install

there is error:

src/_geoslib.c: In function ‘__Pyx_ExceptionSave’: src/_geoslib.c:5552:21: error: ‘PyThreadState’ {aka ‘struct _ts’} ha s no member named ‘exc_type’; did you mean ‘curexc_type’? 5552 | type = tstate->exc_type; | ^~~~ | curexc_type src/_geoslib.c:5553:22: error: ‘PyThreadState’ {aka ‘struct _ts’} ha s no member named ‘exc_value’; did you mean ‘curexc_value’? 5553 | value = tstate->exc_value; | ^~~~~ | curexc_value src/_geoslib.c:5554:19: error: ‘PyThreadState’ {aka ‘struct _ts’} ha s no member named ‘exc_traceback’; did you mean ‘curexc_traceback’? 5554 | *tb = tstate->exc_traceback; | ^~~~~ | curexc_traceback

...

platform: Linux DESKTOP-J925CM6 4.19.84-microsoft-standard #1 SMP Wed Nov 13 11:44:37 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Distributor ID: Ubuntu Description: Ubuntu Focal Fossa (development branch) Release: 20.04 Codename: focal

Python 3.8.2rc1

exc_type, exc_value and exc_traceback do not exist

tacaswell commented 4 years ago

This is likely due to the sdist including pre-cythonized c files generated with a version of cython that is too old to support newer versions of python.

If you install directly from the repo does it work?

May be a moot point, but we should make cython an install-time dependency and not bundle the c files (to make it more forward compatible).

kinglionsz commented 4 years ago

This is likely due to the sdist including pre-cythonized c files generated with a version of cython that is too old to support newer versions of python.

If you install directly from the repo does it work?

May be a moot point, but we should make cython an install-time dependency and not bundle the c files (to make it more forward compatible).

Thank you and for your time.

I did not use repo due to the network conditions.

I modified the source code according to the prompt, completed the compilation, and installed successfully.

Of course, I agree with you.

Thank you very much! @tacaswell

geoslib c_tstate-箭头curexc geoslib c_tstate-箭头exc

molinav commented 2 years ago

I close this issue, since the precompiled _geoslib.c file has been removed from the repository and cython has been added as a setup requirement. For Python 3.8 under Ubuntu 20.04 you can also try the preliminary precompiled wheels that I uploaded to PyPI, which come with its own copy og libgeos_c.