Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
I
importlib_metadata
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 10
    • Issues 10
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 3
    • Merge Requests 3
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • python-devs
  • importlib_metadata
  • Issues
  • #132

Closed
Open
Opened Oct 21, 2020 by asavah@asavah

importlib.metadata does not respect PYTHONPATH environment variable

This used to work with any random package using setuptools, lets say I want install a dev version of meson into a separate prefix (folder) to avoid interfering with OS one.

PYTHONPATH=/my/prefix/lib/python3.8/site-packages python3 setup.py install --prefix=/my/prefix
PYTHONPATH=/my/prefix/lib/python3.8/site-packages /my/prefix/bin/meson
/my/prefix/lib/python3.8/site-packages# ls -1
easy-install.pth
meson-0.55.3-py3.8.egg

Now this fails

PYTHONPATH=/my/prefix/lib/python3.8/site-packages /my/prefix/bin/meson
Traceback (most recent call last):
  File "/my/prefix/bin/meson", line 33, in <module>
    sys.exit(load_entry_point('meson==0.55.3', 'console_scripts', 'meson')())
  File "/my/prefix/bin/meson", line 22, in importlib_load_entry_point
    for entry_point in distribution(dist_name).entry_points
  File "/usr/lib/python3.8/importlib/metadata.py", line 504, in distribution
    return Distribution.from_name(distribution_name)
  File "/usr/lib/python3.8/importlib/metadata.py", line 177, in from_name
    raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: meson

OS: ubuntu 20.10, python 3.8.6

When making questionable "improvements" to something that existed and worked for years please make SURE you don't break expected behavior.

Edited Oct 21, 2020 by asavah
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: python-devs/importlib_metadata#132