bazel-contrib/rules_python

`runfiles` module name conflicts with PyCharm

Open

#3.714 aberto em 17 de abr. de 2026

Ver no GitHub
 (2 comments) (2 reactions) (0 assignees)Starlark (705 forks)auto 404
help wanted

Métricas do repositório

Stars
 (679 stars)
Métricas de merge de PR
 (Métricas PR pendentes)

Description

🐞 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.

Guia do colaborador