Skip to content

finalize_distribution_options entry point requires panda3d import #1624

@rdb

Description

@rdb

Description

Panda3D registers a finalize_distribution_options as of 1.10.13 to fix #1394, which also gets called when using commands other than build_apps due to limitations in setuptools.

However, this causes an import of FreezeTool, which imports Panda3D modules. If there is an issue with the Panda3D installation, this causes unrelated uses of setuptools to fail.

Steps to Reproduce

  1. Introduce an issue with the Panda3D C++ modules, eg. by deleting panda3d/core.so
  2. Try to install Pillow using pip
  3. Observe the panda3d.core install error

Proposed Fix

Put our finalize_distribution_options hook in a separate module, so that it doesn't trigger an import of other Panda3D modules

Environment

  • Operating system: macOS 14.4
  • System architecture: arm64
  • Panda3D version: 1.10.14+
  • Installation method: built from source
  • Python version (if using Python): 3.12

Metadata

Metadata

Assignees

Type

No fields configured for Bug.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions