Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • pypy pypy
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 653
    • Issues 653
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 13
    • Merge requests 13
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

This instance will be upgraded to Heptapod 0.31.0 (final) on 2022-05-24 at 14:00 UTC+2 (a few minutes of down time)

  • PyPy
  • pypypypy
  • Issues
  • #3519

Closed
Open
Created Jul 20, 2021 by Mark@marky1991

Pypy3.7: AttributeError: Can't set attribute

python --version Python 3.7.10 (77787b8f4c49, Jun 13 2021, 02:02:23) [PyPy 7.3.5 with GCC 11.1.0]

Setup: pip install glooey==0.3.1

python test_glooey.py ( test_glooey.py )

When running the test script on cpython 3.7.10, the script terminates successfully without error, but raises an AttributeError ("can't set attribute") on pypy3.7 .

The full traceback:

python test_glooey.py 
Traceback (most recent call last):
  File "test_glooey.py", line 31, in <module>
    button = TilePickerButton(cls, lambda cls=cls: setattr(self, "active_content_cls", cls))
  File "test_glooey.py", line 17, in __init__
    vbox.padding = 6
AttributeError: can't set attribute

Comparing the property objects, I can confirm that the fset values don't match.

On pypy:
(Pdb) vbox.__class__.padding.fset
(Pdb) 

vs cpython:
(Pdb) vbox.__class__.padding.fset
<function Widget.set_padding at 0x7fc1bbb2e950>

I'm not sure what exactly is causing this discrepancy.

Edited Jul 20, 2021 by Mark
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking