bazel-contrib/rules_python

`runfiles` module name conflicts with PyCharm

Open

#3714 aperta il 17 apr 2026

Vedi su GitHub
 (2 commenti) (2 reazioni) (0 assegnatari)Starlark (705 fork)auto 404
help wanted

Metriche repository

Star
 (679 star)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

🐞 bug report

Affected Rule

runfiles

Is this a regression?

No

Description

PyCharm's Python console adds some stuff to the import path including a runfiles module. So when users open a project that supports both Bazel and virtual environments using this console, they run into errors like

>>> import mytest
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/Applications/PyCharm.app/Contents/plugins/python-ce/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/tmp/PythonProject/mytest/__init__.py", line 1, in <module>
    from runfiles import Runfiles
ImportError: cannot import name 'Runfiles' from 'runfiles' (/Applications/PyCharm.app/Contents/plugins/python-ce/helpers/pydev/runfiles.py)

There doesn't seem to be any way around this other than wrapping from runfiles import Runfiles in some try/except or similar, which is unfortunate.

What if we had the bazel-runfiles package ship its implementation in a bazel_runfiles module instead, with runfiles remaining and serving as a simple proxy? This would allow affected environments to use

from bazel_runfiles import Runfiles

which should avoid any naming conflicts.

Guida contributor