bazel-contrib/rules_python

`runfiles` module name conflicts with PyCharm

Open

#3 714 ouverte le 17 avr. 2026

Voir sur GitHub
 (2 commentaires) (2 réactions) (0 assignés)Starlark (705 forks)auto 404
help wanted

Métriques du dépôt

Stars
 (679 stars)
Métriques de merge PR
 (Métriques PR en attente)

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.

Guide contributeur