When I compare the latest blender api to the 2.79b API (based on the current link from https://docs.blender.org/api/), I see that the bake_action API changed from accepting start_frame and end_frame to taking a single frames iterable.

When I run blender --version, I get:

Blender 2.79 (sub 6)
        build date: 2018-12-25
        build time: 20:34:04
        build commit date: 2018-12-22
        build commit time: 14:10
        build hash: 2c0c1f494dcf
        build platform: Linux
        build type: Release

However, when invoking bpy_extras.anim_utils.bake_action, I get:

  File "/usr/share/blender/2.79/scripts/addons/io_scene_godot/converters/animation/constraint_baking.py", line 87, in bake_constraint_to_action
TypeError: bake_action() missing 1 required keyword-only argument: 'frames'

This suggests that I have the 2.80 API, even though I seem to be on blender 2.79. What am I misunderstanding about blender versions?

  • $\begingroup$ Where did you get your blender? $\endgroup$
    – batFINGER
    Feb 5 '19 at 14:30
  • $\begingroup$ See the comments on blender.stackexchange.com/a/127934/60829, I got it from the arch repos, and it turns out they aren't necessarily picking a stable release. I suppose I could answer my own question with that, but I'm not sure if it is on-topic any more, as it is more about distro-specific packaging than anything inherent to blender. $\endgroup$
    – rcorre
    Feb 5 '19 at 14:49
  • $\begingroup$ If you cloned the repo recommend building from. Prob too late to suggest a shallow clone. $\endgroup$
    – batFINGER
    Feb 5 '19 at 15:17
  • $\begingroup$ I think I'm just creating more confusion here. By repo I mean the arch package repository, not a git repo. Shallow clone isn't really relevant. $\endgroup$
    – rcorre
    Feb 5 '19 at 19:49
  • 1
    $\begingroup$ Hmmm "trying to look at the repo to confirm, but blender takes a while to clone" kinda suggested to me git repo. Anyway my suggestion on a linux system is build from source yourself. Make a shallow git clone if bandwidth and or data restrictions apply). My experience on ubuntu (where you dont use theit repos or you'll get the latest 2.4 version lol) is this is pretty simple. If you don't want to do this fine, it is only a suggestion. Consider posting on an archlinux forum or repo site maintainer. $\endgroup$
    – batFINGER
    Feb 6 '19 at 7:40

Blender version 2.79b is the one that you can download when you click Download Blender at the top of the download page at https://www.blender.org/download/ at the time I am writing this (05-01-2019).

If you however choose to scroll down to the bottom of that page and click the red button 'Latest Experimental Builds' in the section with the red background and a clear disclaimer in English: enter image description here you will be downloading experimental builds (not unlike the disclaimer states) and may try latest changes that may include changes to the Python API.

  • 2
    $\begingroup$ I'm not sure it's clear how this information relates to what the OP is seeing. IE. it doesn't explain why the user is seeing 2.79 when running --version. $\endgroup$ Jan 5 '19 at 16:01
  • $\begingroup$ I'll have a closer look and see if I am not mistaken, however, I believe Blender release is built on 22-03-2018. At least the Windows version that I get from the official download link. The date indicated in the question(build date: 2018-12-25) would have to mean that it is an experimantal build. Am I mistaken and Linux release version is updated? $\endgroup$ Jan 5 '19 at 16:06
  • $\begingroup$ Ah, I see. I don't know about build dates. I think I just thought that if they had downloaded an experimental version that explicitly mentions 2.8 (as per that screenshot) they wouldn't have asked why they have 2.8 and that maybe they had built blender themselves. $\endgroup$ Jan 5 '19 at 16:14
  • $\begingroup$ I use experimental builds myself sometimes and I have noticed that the version information in them sometimes is weird - the numbers sometimes jump around, I think I saw 2.79.6 updated to 2.79.4 some time and then back again(don't remember exactly, it think it was like that), but I mean... They put a warning in red background there - what else could we expect. Experimantal means it is as it is and it can be whatever it is... $\endgroup$ Jan 5 '19 at 16:25
  • 1
    $\begingroup$ The way I understand it 2.79b indicates that it's the third release, just after 2.79 and 2.79a. Release would mean that it was built and made available for download from blender.org website. I would consider absolutely anything that is not one of the builds available at blender.org should not be called 2.79b. The documentation you are looking at is specified very specifically to be for that precise build: "Blender 2.79b f4dc9f9d68b - API documentation »". So first thing to do here would be to make sure you are using the correct build if you wanted it to mach the documentation. It should work. $\endgroup$ Jan 5 '19 at 19:56

Blender as packaged in the archlinux repository doesn't necessarily use a stable version. A comment in the PKGBUILD says:

Due to our other rolling deps, it's sometimes not possible to build Blender stable releases. More often than not, a new openshadinglanguage breaks it and I could either backport fixes or simply roll with a new version. I usually choose the latter when the former seems unreasonable.

At one point the packaged version was a post 2.79b release that included the new API but presumably hadn't been tagged 2.80 yet.

Martin's answer didn't quite address my situation, but the following discussion helped me figure this out.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.