Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

`compile_pip_requirements` fails because setuptools contains file with spaces in name

オープン
#3,681 コメント 1 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
python
領域
build-system

調査の方向性

まず、示されている compile_pip_requirements 設定で bazel run //:requirements.update を再現し、ルールが setuptools パス Lorem ipsum.txt をどのように処理するかを調べます。生成された runfiles マニフェストと、関連するルールのエントリポイントを確認します。依存関係にスペースを含むファイル名がある場合でも、requirements 更新ターゲットが正常にビルドできれば完了です。

索引モデルが issue の本文から書いたものです。

説明

🐞 bug report

Affected Rule

compile_pip_requirements when ran with bazel run //:requirements.update

Is this a regression?

Not sure. Similar issue is #4605.

Description

My BUILD file contains the following -

load("@rules_python//python:pip.bzl", "compile_pip_requirements")
compile_pip_requirements(
    name = "requirements",
    src = "requirements.in",
    requirements_txt = "requirements_lock.txt",
)

The issue seems to be that the file "pypi__setuptools/setuptools/_vendor/jaraco/text/Lorem ipsum.txt" used by setuptools has a space in the name and Bazel won't accept that.

I am using USE_BAZEL_VERSION=7.3.2. With MODULE having -

bazel_dep(name = "rules_python", version = "1.8.5")
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
    python_version = "3.13",
)

🔬 Minimal Reproduction

bazel run //:requirements.update

🔥 Exception or Error


BUILD.bazel:31:25: Creating runfiles tree bazel-out/k8-fastbuild/bin/requirements.update.runfiles failed: build-runfiles failed: error executing  command 

  (cd /home/rishin/.cache/bazel/_bazel_rishin/a5698ab7503342d8072bd8e495f01f91/execroot/_main && \

  exec env - \

    PATH=/home/rishin/.cache/bazelisk/downloads/sha256/96e9c34caf77b25a2fe1f0699cb85d23226a7a9f563ac156f0ed2033402b080b/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin \

  /home/rishin/.cache/bazel/_bazel_rishin/install/aeea4605fbb10c56d04772b8e314db75/build-runfiles --allow_relative bazel-out/k8-fastbuild/bin/requirements.update.runfiles_manifest bazel-out/k8-fastbuild/bin/requirements.update.runfiles): Process exited with status 1: Process exited with status 1

/home/rishin/.cache/bazel/_bazel_rishin/install/aeea4605fbb10c56d04772b8e314db75/build-runfiles (args bazel-out/k8-fastbuild/bin/requirements.update.runfiles_manifest bazel-out/k8-fastbuild/bin/requirements.update.runfiles): link or target filename contains space on line 937: '_main/external/rules_python~~config~pypi__setuptools/setuptools/_vendor/jaraco/text/Lorem ipsum.txt /home/rishin/.cache/bazel/_bazel_rishin/a5698ab7503342d8072bd8e495f01f91/external/rules_python~~config~pypi__setuptools/setuptools/_vendor/jaraco/text/Lorem ipsum.txt'
Target //:requirements.update failed to build 

🌍 Your Environment

Operating System: 11.8.5

Output of bazel version:

  
Bazelisk version: v1.27.0
Starting local Bazel server and connecting to it...
Build label: 7.3.2
Build target: @@//src/main/java/com/google/devtools/build/lib/bazel:BazelServer
Build time: Tue Oct 1 17:46:05 2024 (1727804765)
Build timestamp: 1727804765
Build timestamp as int: 1727804765
  

Rules_python version: 1.8.5

主要言語
Starlark
スター
690
フォーク
722
平均マージ
1日 55分
マージ済み PR(30日)
38

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

bazel-contrib/rules_python のほかの issue

bazel-contrib/rules_python の issue をすべて見る

似ている issue

Build System の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。