Python Forum

Full Version: PyYAML
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I am having a devil of a time with PyYAML. Any package with a dependency to it tries to compile it, and always fails from cython. There have apparently been prior noted bugs between the two.
ext/_yaml.c:24216:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
         tstate->exc_value = local_value;
                 ^~~~~~~~~
                 curexc_value
    ext/_yaml.c:24217:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
         tstate->exc_traceback = local_tb;
                 ^~~~~~~~~~~~~
                 curexc_traceback
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
    
    ----------------------------------------
  Rolling back uninstall of PyYAML
I cannot import(correction- pip3 install ) PyYAML. Debian has a module called pyaml, which does import.

If I 'pip3 install -U PyYAML' I get:
Requirement already up-to-date: PyYAML in /usr/local/lib/python3.7/dist-packages (5.1.2)
However the actual version is 3.13 (lastest for 3.7)
The RECORDS file in dist-packages has the files dumped to the /yaml pycache.

I see part of the problem is:
Collecting PyYaml==3.12 (from zegami-cli) Using cached https://files.pythonhosted.org/packages/....12.tar.gz

The module is calling the wrong version. Should it be >= 3.12?
Is this a standard practice in Python? Exact versions? I guess I can patch the wheel file on the installing module to >=3.12 (if I can find it!)

In the meantime, is there a symlink or something to fix the confusion (once again 'import pyaml' does work!)
Is there something in the examples that might help?
https://github.com/yaml/pyyaml/tree/master/examples
'import -U PyYAML - above should be 'pip3 install -U'